﻿#pragma once

#using <mscorlib.dll>
#using <System.dll>
#using <System.Data.dll>
#using <System.Xml.dll>

using namespace System::Security::Permissions;
[assembly:SecurityPermissionAttribute(SecurityAction::RequestMinimum, SkipVerification=false)];
// 
// 此源代码由 xsd 自动生成, Version=4.0.30319.17929。
// 
using namespace System;
ref class NewDataSet;


/// <summary>
///Represents a strongly typed in-memory cache of data.
///</summary>
[System::Serializable, 
System::ComponentModel::DesignerCategoryAttribute(L"code"), 
System::ComponentModel::ToolboxItem(true), 
System::Xml::Serialization::XmlSchemaProviderAttribute(L"GetTypedDataSetSchema"), 
System::Xml::Serialization::XmlRootAttribute(L"NewDataSet"), 
System::ComponentModel::Design::HelpKeywordAttribute(L"vs.data.DataSet")]
public ref class NewDataSet : public ::System::Data::DataSet {
    public : ref class levelDataTable;
    public : ref class aiDataTable;
    public : ref class baseDataTable;
    public : ref class unitDataTable;
    public : ref class itemDataTable;
    public : ref class periodDataTable;
    public : ref class _create_unitDataTable;
    public : ref class levelRow;
    public : ref class aiRow;
    public : ref class baseRow;
    public : ref class unitRow;
    public : ref class itemRow;
    public : ref class periodRow;
    public : ref class _create_unitRow;
    public : ref class levelRowChangeEvent;
    public : ref class aiRowChangeEvent;
    public : ref class baseRowChangeEvent;
    public : ref class unitRowChangeEvent;
    public : ref class itemRowChangeEvent;
    public : ref class periodRowChangeEvent;
    public : ref class _create_unitRowChangeEvent;
    
    private: NewDataSet::levelDataTable^  tablelevel;
    
    private: NewDataSet::aiDataTable^  tableai;
    
    private: NewDataSet::baseDataTable^  tablebase;
    
    private: NewDataSet::unitDataTable^  tableunit;
    
    private: NewDataSet::itemDataTable^  tableitem;
    
    private: NewDataSet::periodDataTable^  tableperiod;
    
    private: NewDataSet::_create_unitDataTable^  table_create_unit;
    
    private: ::System::Data::DataRelation^  relationlevel_ai;
    
    private: ::System::Data::DataRelation^  relationai_base;
    
    private: ::System::Data::DataRelation^  relationai_unit;
    
    private: ::System::Data::DataRelation^  relationunit_item;
    
    private: ::System::Data::DataRelation^  relationai_period;
    
    private: ::System::Data::DataRelation^  _relationperiod_create_unit;
    
    private: ::System::Data::SchemaSerializationMode _schemaSerializationMode;
    
    public : [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    delegate System::Void levelRowChangeEventHandler(::System::Object^  sender, NewDataSet::levelRowChangeEvent^  e);
    
    public : [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    delegate System::Void aiRowChangeEventHandler(::System::Object^  sender, NewDataSet::aiRowChangeEvent^  e);
    
    public : [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    delegate System::Void baseRowChangeEventHandler(::System::Object^  sender, NewDataSet::baseRowChangeEvent^  e);
    
    public : [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    delegate System::Void unitRowChangeEventHandler(::System::Object^  sender, NewDataSet::unitRowChangeEvent^  e);
    
    public : [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    delegate System::Void itemRowChangeEventHandler(::System::Object^  sender, NewDataSet::itemRowChangeEvent^  e);
    
    public : [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    delegate System::Void periodRowChangeEventHandler(::System::Object^  sender, NewDataSet::periodRowChangeEvent^  e);
    
    public : [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    delegate System::Void _create_unitRowChangeEventHandler(::System::Object^  sender, NewDataSet::_create_unitRowChangeEvent^  e);
    
    public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    NewDataSet();
    protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    NewDataSet(::System::Runtime::Serialization::SerializationInfo^  info, ::System::Runtime::Serialization::StreamingContext context);
    public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
    System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0"), 
    System::ComponentModel::Browsable(false), 
    System::ComponentModel::DesignerSerializationVisibility(::System::ComponentModel::DesignerSerializationVisibility::Content)]
    property NewDataSet::levelDataTable^  level {
        NewDataSet::levelDataTable^  get();
    }
    
    public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
    System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0"), 
    System::ComponentModel::Browsable(false), 
    System::ComponentModel::DesignerSerializationVisibility(::System::ComponentModel::DesignerSerializationVisibility::Content)]
    property NewDataSet::aiDataTable^  ai {
        NewDataSet::aiDataTable^  get();
    }
    
    public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
    System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0"), 
    System::ComponentModel::Browsable(false), 
    System::ComponentModel::DesignerSerializationVisibility(::System::ComponentModel::DesignerSerializationVisibility::Content)]
    property NewDataSet::baseDataTable^  base {
        NewDataSet::baseDataTable^  get();
    }
    
    public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
    System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0"), 
    System::ComponentModel::Browsable(false), 
    System::ComponentModel::DesignerSerializationVisibility(::System::ComponentModel::DesignerSerializationVisibility::Content)]
    property NewDataSet::unitDataTable^  unit {
        NewDataSet::unitDataTable^  get();
    }
    
    public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
    System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0"), 
    System::ComponentModel::Browsable(false), 
    System::ComponentModel::DesignerSerializationVisibility(::System::ComponentModel::DesignerSerializationVisibility::Content)]
    property NewDataSet::itemDataTable^  item {
        NewDataSet::itemDataTable^  get();
    }
    
    public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
    System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0"), 
    System::ComponentModel::Browsable(false), 
    System::ComponentModel::DesignerSerializationVisibility(::System::ComponentModel::DesignerSerializationVisibility::Content)]
    property NewDataSet::periodDataTable^  period {
        NewDataSet::periodDataTable^  get();
    }
    
    public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
    System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0"), 
    System::ComponentModel::Browsable(false), 
    System::ComponentModel::DesignerSerializationVisibility(::System::ComponentModel::DesignerSerializationVisibility::Content)]
    property NewDataSet::_create_unitDataTable^  _create_unit {
        NewDataSet::_create_unitDataTable^  get();
    }
    
    public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
    System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0"), 
    System::ComponentModel::BrowsableAttribute(true), 
    System::ComponentModel::DesignerSerializationVisibilityAttribute(::System::ComponentModel::DesignerSerializationVisibility::Visible)]
    virtual property ::System::Data::SchemaSerializationMode SchemaSerializationMode {
        ::System::Data::SchemaSerializationMode get() override;
        System::Void set(::System::Data::SchemaSerializationMode value) override;
    }
    
    public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
    System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0"), 
    System::ComponentModel::DesignerSerializationVisibilityAttribute(::System::ComponentModel::DesignerSerializationVisibility::Hidden)]
    property ::System::Data::DataTableCollection^  Tables {
        ::System::Data::DataTableCollection^  get() new;
    }
    
    public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
    System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0"), 
    System::ComponentModel::DesignerSerializationVisibilityAttribute(::System::ComponentModel::DesignerSerializationVisibility::Hidden)]
    property ::System::Data::DataRelationCollection^  Relations {
        ::System::Data::DataRelationCollection^  get() new;
    }
    
    protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    virtual ::System::Void InitializeDerivedDataSet() override;
    
    public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    virtual ::System::Data::DataSet^  Clone() override;
    
    protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    virtual ::System::Boolean ShouldSerializeTables() override;
    
    protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    virtual ::System::Boolean ShouldSerializeRelations() override;
    
    protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    virtual ::System::Void ReadXmlSerializable(::System::Xml::XmlReader^  reader) override;
    
    protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    virtual ::System::Xml::Schema::XmlSchema^  GetSchemaSerializable() override;
    
    internal: [System::Diagnostics::DebuggerNonUserCodeAttribute]
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    ::System::Void InitVars();
    
    internal: [System::Diagnostics::DebuggerNonUserCodeAttribute]
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    ::System::Void InitVars(::System::Boolean initTable);
    
    private: [System::Diagnostics::DebuggerNonUserCodeAttribute]
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    ::System::Void InitClass();
    
    private: [System::Diagnostics::DebuggerNonUserCodeAttribute]
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    ::System::Boolean ShouldSerializelevel();
    
    private: [System::Diagnostics::DebuggerNonUserCodeAttribute]
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    ::System::Boolean ShouldSerializeai();
    
    private: [System::Diagnostics::DebuggerNonUserCodeAttribute]
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    ::System::Boolean ShouldSerializebase();
    
    private: [System::Diagnostics::DebuggerNonUserCodeAttribute]
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    ::System::Boolean ShouldSerializeunit();
    
    private: [System::Diagnostics::DebuggerNonUserCodeAttribute]
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    ::System::Boolean ShouldSerializeitem();
    
    private: [System::Diagnostics::DebuggerNonUserCodeAttribute]
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    ::System::Boolean ShouldSerializeperiod();
    
    private: [System::Diagnostics::DebuggerNonUserCodeAttribute]
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    ::System::Boolean ShouldSerialize_create_unit();
    
    private: [System::Diagnostics::DebuggerNonUserCodeAttribute]
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    ::System::Void SchemaChanged(::System::Object^  sender, ::System::ComponentModel::CollectionChangeEventArgs^  e);
    
    public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    static ::System::Xml::Schema::XmlSchemaComplexType^  GetTypedDataSetSchema(::System::Xml::Schema::XmlSchemaSet^  xs);
    
    public : /// <summary>
///Represents the strongly named DataTable class.
///</summary>
    [System::Serializable, 
    System::Xml::Serialization::XmlSchemaProviderAttribute(L"GetTypedTableSchema")]
    ref class levelDataTable : public ::System::Data::DataTable, public ::System::Collections::IEnumerable {
        
        private: ::System::Data::DataColumn^  columncode;
        
        private: ::System::Data::DataColumn^  columnname;
        
        private: ::System::Data::DataColumn^  column_background_image;
        
        private: ::System::Data::DataColumn^  column_background_sound;
        
        private: ::System::Data::DataColumn^  columndescriptor;
        
        private: ::System::Data::DataColumn^  columnlevel_Id;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::levelRowChangeEventHandler^  levelRowChanging;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::levelRowChangeEventHandler^  levelRowChanged;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::levelRowChangeEventHandler^  levelRowDeleting;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::levelRowChangeEventHandler^  levelRowDeleted;
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        levelDataTable();
        internal: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        levelDataTable(::System::Data::DataTable^  table);
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        levelDataTable(::System::Runtime::Serialization::SerializationInfo^  info, ::System::Runtime::Serialization::StreamingContext context);
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  codeColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  nameColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  _background_imageColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  _background_soundColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  descriptorColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  level_IdColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0"), 
        System::ComponentModel::Browsable(false)]
        property ::System::Int32 Count {
            ::System::Int32 get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property NewDataSet::levelRow^  default [::System::Int32 ] {
            NewDataSet::levelRow^  get(::System::Int32 index);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void AddlevelRow(NewDataSet::levelRow^  row);
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        NewDataSet::levelRow^  AddlevelRow(System::String^  code, System::String^  name, System::String^  _background_image, 
                    System::String^  _background_sound, System::String^  descriptor);
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Collections::IEnumerator^  GetEnumerator();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Data::DataTable^  Clone() override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Data::DataTable^  CreateInstance() override;
        
        internal: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void InitVars();
        
        private: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void InitClass();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        NewDataSet::levelRow^  NewlevelRow();
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Data::DataRow^  NewRowFromBuilder(::System::Data::DataRowBuilder^  builder) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Type^  GetRowType() override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowChanged(::System::Data::DataRowChangeEventArgs^  e) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowChanging(::System::Data::DataRowChangeEventArgs^  e) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowDeleted(::System::Data::DataRowChangeEventArgs^  e) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowDeleting(::System::Data::DataRowChangeEventArgs^  e) override;
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void RemovelevelRow(NewDataSet::levelRow^  row);
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        static ::System::Xml::Schema::XmlSchemaComplexType^  GetTypedTableSchema(::System::Xml::Schema::XmlSchemaSet^  xs);
    };
    
    public : /// <summary>
///Represents the strongly named DataTable class.
///</summary>
    [System::Serializable, 
    System::Xml::Serialization::XmlSchemaProviderAttribute(L"GetTypedTableSchema")]
    ref class aiDataTable : public ::System::Data::DataTable, public ::System::Collections::IEnumerable {
        
        private: ::System::Data::DataColumn^  columnai_Id;
        
        private: ::System::Data::DataColumn^  columnlevel_Id;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::aiRowChangeEventHandler^  aiRowChanging;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::aiRowChangeEventHandler^  aiRowChanged;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::aiRowChangeEventHandler^  aiRowDeleting;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::aiRowChangeEventHandler^  aiRowDeleted;
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        aiDataTable();
        internal: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        aiDataTable(::System::Data::DataTable^  table);
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        aiDataTable(::System::Runtime::Serialization::SerializationInfo^  info, ::System::Runtime::Serialization::StreamingContext context);
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  ai_IdColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  level_IdColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0"), 
        System::ComponentModel::Browsable(false)]
        property ::System::Int32 Count {
            ::System::Int32 get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property NewDataSet::aiRow^  default [::System::Int32 ] {
            NewDataSet::aiRow^  get(::System::Int32 index);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void AddaiRow(NewDataSet::aiRow^  row);
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        NewDataSet::aiRow^  AddaiRow(NewDataSet::levelRow^  parentlevelRowBylevel_ai);
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Collections::IEnumerator^  GetEnumerator();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Data::DataTable^  Clone() override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Data::DataTable^  CreateInstance() override;
        
        internal: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void InitVars();
        
        private: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void InitClass();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        NewDataSet::aiRow^  NewaiRow();
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Data::DataRow^  NewRowFromBuilder(::System::Data::DataRowBuilder^  builder) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Type^  GetRowType() override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowChanged(::System::Data::DataRowChangeEventArgs^  e) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowChanging(::System::Data::DataRowChangeEventArgs^  e) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowDeleted(::System::Data::DataRowChangeEventArgs^  e) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowDeleting(::System::Data::DataRowChangeEventArgs^  e) override;
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void RemoveaiRow(NewDataSet::aiRow^  row);
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        static ::System::Xml::Schema::XmlSchemaComplexType^  GetTypedTableSchema(::System::Xml::Schema::XmlSchemaSet^  xs);
    };
    
    public : /// <summary>
///Represents the strongly named DataTable class.
///</summary>
    [System::Serializable, 
    System::Xml::Serialization::XmlSchemaProviderAttribute(L"GetTypedTableSchema")]
    ref class baseDataTable : public ::System::Data::DataTable, public ::System::Collections::IEnumerable {
        
        private: ::System::Data::DataColumn^  columnid;
        
        private: ::System::Data::DataColumn^  columnlv;
        
        private: ::System::Data::DataColumn^  columnai_Id;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::baseRowChangeEventHandler^  baseRowChanging;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::baseRowChangeEventHandler^  baseRowChanged;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::baseRowChangeEventHandler^  baseRowDeleting;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::baseRowChangeEventHandler^  baseRowDeleted;
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        baseDataTable();
        internal: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        baseDataTable(::System::Data::DataTable^  table);
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        baseDataTable(::System::Runtime::Serialization::SerializationInfo^  info, ::System::Runtime::Serialization::StreamingContext context);
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  idColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  lvColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  ai_IdColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0"), 
        System::ComponentModel::Browsable(false)]
        property ::System::Int32 Count {
            ::System::Int32 get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property NewDataSet::baseRow^  default [::System::Int32 ] {
            NewDataSet::baseRow^  get(::System::Int32 index);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void AddbaseRow(NewDataSet::baseRow^  row);
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        NewDataSet::baseRow^  AddbaseRow(System::String^  id, System::Int64 lv, NewDataSet::aiRow^  parentaiRowByai_base);
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Collections::IEnumerator^  GetEnumerator();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Data::DataTable^  Clone() override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Data::DataTable^  CreateInstance() override;
        
        internal: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void InitVars();
        
        private: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void InitClass();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        NewDataSet::baseRow^  NewbaseRow();
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Data::DataRow^  NewRowFromBuilder(::System::Data::DataRowBuilder^  builder) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Type^  GetRowType() override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowChanged(::System::Data::DataRowChangeEventArgs^  e) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowChanging(::System::Data::DataRowChangeEventArgs^  e) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowDeleted(::System::Data::DataRowChangeEventArgs^  e) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowDeleting(::System::Data::DataRowChangeEventArgs^  e) override;
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void RemovebaseRow(NewDataSet::baseRow^  row);
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        static ::System::Xml::Schema::XmlSchemaComplexType^  GetTypedTableSchema(::System::Xml::Schema::XmlSchemaSet^  xs);
    };
    
    public : /// <summary>
///Represents the strongly named DataTable class.
///</summary>
    [System::Serializable, 
    System::Xml::Serialization::XmlSchemaProviderAttribute(L"GetTypedTableSchema")]
    ref class unitDataTable : public ::System::Data::DataTable, public ::System::Collections::IEnumerable {
        
        private: ::System::Data::DataColumn^  columnid;
        
        private: ::System::Data::DataColumn^  columnlv;
        
        private: ::System::Data::DataColumn^  columnunit_Id;
        
        private: ::System::Data::DataColumn^  columnai_Id;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::unitRowChangeEventHandler^  unitRowChanging;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::unitRowChangeEventHandler^  unitRowChanged;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::unitRowChangeEventHandler^  unitRowDeleting;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::unitRowChangeEventHandler^  unitRowDeleted;
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        unitDataTable();
        internal: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        unitDataTable(::System::Data::DataTable^  table);
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        unitDataTable(::System::Runtime::Serialization::SerializationInfo^  info, ::System::Runtime::Serialization::StreamingContext context);
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  idColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  lvColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  unit_IdColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  ai_IdColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0"), 
        System::ComponentModel::Browsable(false)]
        property ::System::Int32 Count {
            ::System::Int32 get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property NewDataSet::unitRow^  default [::System::Int32 ] {
            NewDataSet::unitRow^  get(::System::Int32 index);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void AddunitRow(NewDataSet::unitRow^  row);
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        NewDataSet::unitRow^  AddunitRow(System::String^  id, System::Int64 lv, NewDataSet::aiRow^  parentaiRowByai_unit);
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Collections::IEnumerator^  GetEnumerator();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Data::DataTable^  Clone() override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Data::DataTable^  CreateInstance() override;
        
        internal: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void InitVars();
        
        private: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void InitClass();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        NewDataSet::unitRow^  NewunitRow();
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Data::DataRow^  NewRowFromBuilder(::System::Data::DataRowBuilder^  builder) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Type^  GetRowType() override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowChanged(::System::Data::DataRowChangeEventArgs^  e) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowChanging(::System::Data::DataRowChangeEventArgs^  e) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowDeleted(::System::Data::DataRowChangeEventArgs^  e) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowDeleting(::System::Data::DataRowChangeEventArgs^  e) override;
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void RemoveunitRow(NewDataSet::unitRow^  row);
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        static ::System::Xml::Schema::XmlSchemaComplexType^  GetTypedTableSchema(::System::Xml::Schema::XmlSchemaSet^  xs);
    };
    
    public : /// <summary>
///Represents the strongly named DataTable class.
///</summary>
    [System::Serializable, 
    System::Xml::Serialization::XmlSchemaProviderAttribute(L"GetTypedTableSchema")]
    ref class itemDataTable : public ::System::Data::DataTable, public ::System::Collections::IEnumerable {
        
        private: ::System::Data::DataColumn^  columnid;
        
        private: ::System::Data::DataColumn^  columnrate;
        
        private: ::System::Data::DataColumn^  columnunit_Id;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::itemRowChangeEventHandler^  itemRowChanging;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::itemRowChangeEventHandler^  itemRowChanged;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::itemRowChangeEventHandler^  itemRowDeleting;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::itemRowChangeEventHandler^  itemRowDeleted;
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        itemDataTable();
        internal: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        itemDataTable(::System::Data::DataTable^  table);
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        itemDataTable(::System::Runtime::Serialization::SerializationInfo^  info, ::System::Runtime::Serialization::StreamingContext context);
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  idColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  rateColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  unit_IdColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0"), 
        System::ComponentModel::Browsable(false)]
        property ::System::Int32 Count {
            ::System::Int32 get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property NewDataSet::itemRow^  default [::System::Int32 ] {
            NewDataSet::itemRow^  get(::System::Int32 index);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void AdditemRow(NewDataSet::itemRow^  row);
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        NewDataSet::itemRow^  AdditemRow(System::String^  id, System::Int64 rate, NewDataSet::unitRow^  parentunitRowByunit_item);
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Collections::IEnumerator^  GetEnumerator();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Data::DataTable^  Clone() override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Data::DataTable^  CreateInstance() override;
        
        internal: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void InitVars();
        
        private: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void InitClass();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        NewDataSet::itemRow^  NewitemRow();
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Data::DataRow^  NewRowFromBuilder(::System::Data::DataRowBuilder^  builder) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Type^  GetRowType() override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowChanged(::System::Data::DataRowChangeEventArgs^  e) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowChanging(::System::Data::DataRowChangeEventArgs^  e) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowDeleted(::System::Data::DataRowChangeEventArgs^  e) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowDeleting(::System::Data::DataRowChangeEventArgs^  e) override;
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void RemoveitemRow(NewDataSet::itemRow^  row);
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        static ::System::Xml::Schema::XmlSchemaComplexType^  GetTypedTableSchema(::System::Xml::Schema::XmlSchemaSet^  xs);
    };
    
    public : /// <summary>
///Represents the strongly named DataTable class.
///</summary>
    [System::Serializable, 
    System::Xml::Serialization::XmlSchemaProviderAttribute(L"GetTypedTableSchema")]
    ref class periodDataTable : public ::System::Data::DataTable, public ::System::Collections::IEnumerable {
        
        private: ::System::Data::DataColumn^  column_start_time;
        
        private: ::System::Data::DataColumn^  column_end_time;
        
        private: ::System::Data::DataColumn^  columnperiod_Id;
        
        private: ::System::Data::DataColumn^  columnai_Id;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::periodRowChangeEventHandler^  periodRowChanging;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::periodRowChangeEventHandler^  periodRowChanged;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::periodRowChangeEventHandler^  periodRowDeleting;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::periodRowChangeEventHandler^  periodRowDeleted;
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        periodDataTable();
        internal: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        periodDataTable(::System::Data::DataTable^  table);
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        periodDataTable(::System::Runtime::Serialization::SerializationInfo^  info, ::System::Runtime::Serialization::StreamingContext context);
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  _start_timeColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  _end_timeColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  period_IdColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  ai_IdColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0"), 
        System::ComponentModel::Browsable(false)]
        property ::System::Int32 Count {
            ::System::Int32 get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property NewDataSet::periodRow^  default [::System::Int32 ] {
            NewDataSet::periodRow^  get(::System::Int32 index);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void AddperiodRow(NewDataSet::periodRow^  row);
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        NewDataSet::periodRow^  AddperiodRow(System::Int64 _start_time, System::Int64 _end_time, NewDataSet::aiRow^  parentaiRowByai_period);
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Collections::IEnumerator^  GetEnumerator();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Data::DataTable^  Clone() override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Data::DataTable^  CreateInstance() override;
        
        internal: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void InitVars();
        
        private: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void InitClass();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        NewDataSet::periodRow^  NewperiodRow();
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Data::DataRow^  NewRowFromBuilder(::System::Data::DataRowBuilder^  builder) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Type^  GetRowType() override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowChanged(::System::Data::DataRowChangeEventArgs^  e) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowChanging(::System::Data::DataRowChangeEventArgs^  e) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowDeleted(::System::Data::DataRowChangeEventArgs^  e) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowDeleting(::System::Data::DataRowChangeEventArgs^  e) override;
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void RemoveperiodRow(NewDataSet::periodRow^  row);
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        static ::System::Xml::Schema::XmlSchemaComplexType^  GetTypedTableSchema(::System::Xml::Schema::XmlSchemaSet^  xs);
    };
    
    public : /// <summary>
///Represents the strongly named DataTable class.
///</summary>
    [System::Serializable, 
    System::Xml::Serialization::XmlSchemaProviderAttribute(L"GetTypedTableSchema")]
    ref class _create_unitDataTable : public ::System::Data::DataTable, public ::System::Collections::IEnumerable {
        
        private: ::System::Data::DataColumn^  columnid;
        
        private: ::System::Data::DataColumn^  columnlv;
        
        private: ::System::Data::DataColumn^  columncooldown;
        
        private: ::System::Data::DataColumn^  columnperiod_Id;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::_create_unitRowChangeEventHandler^  _create_unitRowChanging;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::_create_unitRowChangeEventHandler^  _create_unitRowChanged;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::_create_unitRowChangeEventHandler^  _create_unitRowDeleting;
        
        public: [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        event NewDataSet::_create_unitRowChangeEventHandler^  _create_unitRowDeleted;
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        _create_unitDataTable();
        internal: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        _create_unitDataTable(::System::Data::DataTable^  table);
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        _create_unitDataTable(::System::Runtime::Serialization::SerializationInfo^  info, ::System::Runtime::Serialization::StreamingContext context);
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  idColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  lvColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  cooldownColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataColumn^  period_IdColumn {
            ::System::Data::DataColumn^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0"), 
        System::ComponentModel::Browsable(false)]
        property ::System::Int32 Count {
            ::System::Int32 get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property NewDataSet::_create_unitRow^  default [::System::Int32 ] {
            NewDataSet::_create_unitRow^  get(::System::Int32 index);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void Add_create_unitRow(NewDataSet::_create_unitRow^  row);
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        NewDataSet::_create_unitRow^  Add_create_unitRow(System::String^  id, System::Int64 lv, System::Int64 cooldown, NewDataSet::periodRow^  _parentperiodRowByperiod_create_unit);
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Collections::IEnumerator^  GetEnumerator();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Data::DataTable^  Clone() override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Data::DataTable^  CreateInstance() override;
        
        internal: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void InitVars();
        
        private: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void InitClass();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        NewDataSet::_create_unitRow^  New_create_unitRow();
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Data::DataRow^  NewRowFromBuilder(::System::Data::DataRowBuilder^  builder) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Type^  GetRowType() override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowChanged(::System::Data::DataRowChangeEventArgs^  e) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowChanging(::System::Data::DataRowChangeEventArgs^  e) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowDeleted(::System::Data::DataRowChangeEventArgs^  e) override;
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        virtual ::System::Void OnRowDeleting(::System::Data::DataRowChangeEventArgs^  e) override;
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void Remove_create_unitRow(NewDataSet::_create_unitRow^  row);
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        static ::System::Xml::Schema::XmlSchemaComplexType^  GetTypedTableSchema(::System::Xml::Schema::XmlSchemaSet^  xs);
    };
    
    public : /// <summary>
///Represents strongly named DataRow class.
///</summary>
    ref class levelRow : public ::System::Data::DataRow {
        
        private: NewDataSet::levelDataTable^  tablelevel;
        
        internal: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        levelRow(::System::Data::DataRowBuilder^  rb);
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::String^  code {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::String^  name {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::String^  _background_image {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::String^  _background_sound {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::String^  descriptor {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::Int32 level_Id {
            System::Int32 get();
            System::Void set(System::Int32 value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Boolean Is_background_soundNull();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void Set_background_soundNull();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Boolean IsdescriptorNull();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void SetdescriptorNull();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        cli::array< NewDataSet::aiRow^  >^  GetaiRows();
    };
    
    public : /// <summary>
///Represents strongly named DataRow class.
///</summary>
    ref class aiRow : public ::System::Data::DataRow {
        
        private: NewDataSet::aiDataTable^  tableai;
        
        internal: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        aiRow(::System::Data::DataRowBuilder^  rb);
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::Int32 ai_Id {
            System::Int32 get();
            System::Void set(System::Int32 value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::Int32 level_Id {
            System::Int32 get();
            System::Void set(System::Int32 value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property NewDataSet::levelRow^  levelRow {
            NewDataSet::levelRow^  get();
            System::Void set(NewDataSet::levelRow^  value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Boolean Islevel_IdNull();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void Setlevel_IdNull();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        cli::array< NewDataSet::baseRow^  >^  GetbaseRows();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        cli::array< NewDataSet::unitRow^  >^  GetunitRows();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        cli::array< NewDataSet::periodRow^  >^  GetperiodRows();
    };
    
    public : /// <summary>
///Represents strongly named DataRow class.
///</summary>
    ref class baseRow : public ::System::Data::DataRow {
        
        private: NewDataSet::baseDataTable^  tablebase;
        
        internal: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        baseRow(::System::Data::DataRowBuilder^  rb);
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::String^  id {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::Int64 lv {
            System::Int64 get();
            System::Void set(System::Int64 value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::Int32 ai_Id {
            System::Int32 get();
            System::Void set(System::Int32 value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property NewDataSet::aiRow^  aiRow {
            NewDataSet::aiRow^  get();
            System::Void set(NewDataSet::aiRow^  value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Boolean Isai_IdNull();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void Setai_IdNull();
    };
    
    public : /// <summary>
///Represents strongly named DataRow class.
///</summary>
    ref class unitRow : public ::System::Data::DataRow {
        
        private: NewDataSet::unitDataTable^  tableunit;
        
        internal: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        unitRow(::System::Data::DataRowBuilder^  rb);
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::String^  id {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::Int64 lv {
            System::Int64 get();
            System::Void set(System::Int64 value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::Int32 unit_Id {
            System::Int32 get();
            System::Void set(System::Int32 value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::Int32 ai_Id {
            System::Int32 get();
            System::Void set(System::Int32 value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property NewDataSet::aiRow^  aiRow {
            NewDataSet::aiRow^  get();
            System::Void set(NewDataSet::aiRow^  value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Boolean Isai_IdNull();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void Setai_IdNull();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        cli::array< NewDataSet::itemRow^  >^  GetitemRows();
    };
    
    public : /// <summary>
///Represents strongly named DataRow class.
///</summary>
    ref class itemRow : public ::System::Data::DataRow {
        
        private: NewDataSet::itemDataTable^  tableitem;
        
        internal: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        itemRow(::System::Data::DataRowBuilder^  rb);
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::String^  id {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::Int64 rate {
            System::Int64 get();
            System::Void set(System::Int64 value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::Int32 unit_Id {
            System::Int32 get();
            System::Void set(System::Int32 value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property NewDataSet::unitRow^  unitRow {
            NewDataSet::unitRow^  get();
            System::Void set(NewDataSet::unitRow^  value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Boolean IsrateNull();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void SetrateNull();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Boolean Isunit_IdNull();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void Setunit_IdNull();
    };
    
    public : /// <summary>
///Represents strongly named DataRow class.
///</summary>
    ref class periodRow : public ::System::Data::DataRow {
        
        private: NewDataSet::periodDataTable^  tableperiod;
        
        internal: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        periodRow(::System::Data::DataRowBuilder^  rb);
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::Int64 _start_time {
            System::Int64 get();
            System::Void set(System::Int64 value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::Int64 _end_time {
            System::Int64 get();
            System::Void set(System::Int64 value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::Int32 period_Id {
            System::Int32 get();
            System::Void set(System::Int32 value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::Int32 ai_Id {
            System::Int32 get();
            System::Void set(System::Int32 value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property NewDataSet::aiRow^  aiRow {
            NewDataSet::aiRow^  get();
            System::Void set(NewDataSet::aiRow^  value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Boolean Is_end_timeNull();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void Set_end_timeNull();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Boolean Isai_IdNull();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void Setai_IdNull();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        cli::array< NewDataSet::_create_unitRow^  >^  _Getcreate_unitRows();
    };
    
    public : /// <summary>
///Represents strongly named DataRow class.
///</summary>
    ref class _create_unitRow : public ::System::Data::DataRow {
        
        private: NewDataSet::_create_unitDataTable^  table_create_unit;
        
        internal: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        _create_unitRow(::System::Data::DataRowBuilder^  rb);
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::String^  id {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::Int64 lv {
            System::Int64 get();
            System::Void set(System::Int64 value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::Int64 cooldown {
            System::Int64 get();
            System::Void set(System::Int64 value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property System::Int32 period_Id {
            System::Int32 get();
            System::Void set(System::Int32 value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property NewDataSet::periodRow^  periodRow {
            NewDataSet::periodRow^  get();
            System::Void set(NewDataSet::periodRow^  value);
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Boolean Isperiod_IdNull();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        ::System::Void Setperiod_IdNull();
    };
    
    public : /// <summary>
///Row event argument class
///</summary>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    ref class levelRowChangeEvent : public ::System::EventArgs {
        
        private: NewDataSet::levelRow^  eventRow;
        
        private: ::System::Data::DataRowAction eventAction;
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        levelRowChangeEvent(NewDataSet::levelRow^  row, ::System::Data::DataRowAction action);
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property NewDataSet::levelRow^  Row {
            NewDataSet::levelRow^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataRowAction Action {
            ::System::Data::DataRowAction get();
        }
    };
    
    public : /// <summary>
///Row event argument class
///</summary>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    ref class aiRowChangeEvent : public ::System::EventArgs {
        
        private: NewDataSet::aiRow^  eventRow;
        
        private: ::System::Data::DataRowAction eventAction;
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        aiRowChangeEvent(NewDataSet::aiRow^  row, ::System::Data::DataRowAction action);
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property NewDataSet::aiRow^  Row {
            NewDataSet::aiRow^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataRowAction Action {
            ::System::Data::DataRowAction get();
        }
    };
    
    public : /// <summary>
///Row event argument class
///</summary>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    ref class baseRowChangeEvent : public ::System::EventArgs {
        
        private: NewDataSet::baseRow^  eventRow;
        
        private: ::System::Data::DataRowAction eventAction;
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        baseRowChangeEvent(NewDataSet::baseRow^  row, ::System::Data::DataRowAction action);
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property NewDataSet::baseRow^  Row {
            NewDataSet::baseRow^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataRowAction Action {
            ::System::Data::DataRowAction get();
        }
    };
    
    public : /// <summary>
///Row event argument class
///</summary>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    ref class unitRowChangeEvent : public ::System::EventArgs {
        
        private: NewDataSet::unitRow^  eventRow;
        
        private: ::System::Data::DataRowAction eventAction;
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        unitRowChangeEvent(NewDataSet::unitRow^  row, ::System::Data::DataRowAction action);
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property NewDataSet::unitRow^  Row {
            NewDataSet::unitRow^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataRowAction Action {
            ::System::Data::DataRowAction get();
        }
    };
    
    public : /// <summary>
///Row event argument class
///</summary>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    ref class itemRowChangeEvent : public ::System::EventArgs {
        
        private: NewDataSet::itemRow^  eventRow;
        
        private: ::System::Data::DataRowAction eventAction;
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        itemRowChangeEvent(NewDataSet::itemRow^  row, ::System::Data::DataRowAction action);
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property NewDataSet::itemRow^  Row {
            NewDataSet::itemRow^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataRowAction Action {
            ::System::Data::DataRowAction get();
        }
    };
    
    public : /// <summary>
///Row event argument class
///</summary>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    ref class periodRowChangeEvent : public ::System::EventArgs {
        
        private: NewDataSet::periodRow^  eventRow;
        
        private: ::System::Data::DataRowAction eventAction;
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        periodRowChangeEvent(NewDataSet::periodRow^  row, ::System::Data::DataRowAction action);
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property NewDataSet::periodRow^  Row {
            NewDataSet::periodRow^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataRowAction Action {
            ::System::Data::DataRowAction get();
        }
    };
    
    public : /// <summary>
///Row event argument class
///</summary>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
    ref class _create_unitRowChangeEvent : public ::System::EventArgs {
        
        private: NewDataSet::_create_unitRow^  eventRow;
        
        private: ::System::Data::DataRowAction eventAction;
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        [System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        _create_unitRowChangeEvent(NewDataSet::_create_unitRow^  row, ::System::Data::DataRowAction action);
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property NewDataSet::_create_unitRow^  Row {
            NewDataSet::_create_unitRow^  get();
        }
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute, 
        System::CodeDom::Compiler::GeneratedCodeAttribute(L"System.Data.Design.TypedDataSetGenerator", L"4.0.0.0")]
        property ::System::Data::DataRowAction Action {
            ::System::Data::DataRowAction get();
        }
    };
};


inline NewDataSet::NewDataSet() {
    this->BeginInit();
    this->InitClass();
    ::System::ComponentModel::CollectionChangeEventHandler^  schemaChangedHandler = gcnew ::System::ComponentModel::CollectionChangeEventHandler(this, &NewDataSet::SchemaChanged);
    __super::Tables->CollectionChanged += schemaChangedHandler;
    __super::Relations->CollectionChanged += schemaChangedHandler;
    this->EndInit();
}

inline NewDataSet::NewDataSet(::System::Runtime::Serialization::SerializationInfo^  info, ::System::Runtime::Serialization::StreamingContext context) : 
        ::System::Data::DataSet(info, context, false) {
    if (this->IsBinarySerialized(info, context) == true) {
        this->InitVars(false);
        ::System::ComponentModel::CollectionChangeEventHandler^  schemaChangedHandler1 = gcnew ::System::ComponentModel::CollectionChangeEventHandler(this, &NewDataSet::SchemaChanged);
        this->Tables->CollectionChanged += schemaChangedHandler1;
        this->Relations->CollectionChanged += schemaChangedHandler1;
        return;
    }
    ::System::String^  strSchema = (cli::safe_cast<::System::String^  >(info->GetValue(L"XmlSchema", ::System::String::typeid)));
    if (this->DetermineSchemaSerializationMode(info, context) == ::System::Data::SchemaSerializationMode::IncludeSchema) {
        ::System::Data::DataSet^  ds = (gcnew ::System::Data::DataSet());
        ds->ReadXmlSchema((gcnew ::System::Xml::XmlTextReader((gcnew ::System::IO::StringReader(strSchema)))));
        if (ds->Tables[L"level"] != nullptr) {
            __super::Tables->Add((gcnew NewDataSet::levelDataTable(ds->Tables[L"level"])));
        }
        if (ds->Tables[L"ai"] != nullptr) {
            __super::Tables->Add((gcnew NewDataSet::aiDataTable(ds->Tables[L"ai"])));
        }
        if (ds->Tables[L"base"] != nullptr) {
            __super::Tables->Add((gcnew NewDataSet::baseDataTable(ds->Tables[L"base"])));
        }
        if (ds->Tables[L"unit"] != nullptr) {
            __super::Tables->Add((gcnew NewDataSet::unitDataTable(ds->Tables[L"unit"])));
        }
        if (ds->Tables[L"item"] != nullptr) {
            __super::Tables->Add((gcnew NewDataSet::itemDataTable(ds->Tables[L"item"])));
        }
        if (ds->Tables[L"period"] != nullptr) {
            __super::Tables->Add((gcnew NewDataSet::periodDataTable(ds->Tables[L"period"])));
        }
        if (ds->Tables[L"create-unit"] != nullptr) {
            __super::Tables->Add((gcnew NewDataSet::_create_unitDataTable(ds->Tables[L"create-unit"])));
        }
        this->DataSetName = ds->DataSetName;
        this->Prefix = ds->Prefix;
        this->Namespace = ds->Namespace;
        this->Locale = ds->Locale;
        this->CaseSensitive = ds->CaseSensitive;
        this->EnforceConstraints = ds->EnforceConstraints;
        this->Merge(ds, false, ::System::Data::MissingSchemaAction::Add);
        this->InitVars();
    }
    else {
        this->ReadXmlSchema((gcnew ::System::Xml::XmlTextReader((gcnew ::System::IO::StringReader(strSchema)))));
    }
    this->GetSerializationData(info, context);
    ::System::ComponentModel::CollectionChangeEventHandler^  schemaChangedHandler = gcnew ::System::ComponentModel::CollectionChangeEventHandler(this, &NewDataSet::SchemaChanged);
    __super::Tables->CollectionChanged += schemaChangedHandler;
    this->Relations->CollectionChanged += schemaChangedHandler;
}

inline NewDataSet::levelDataTable^  NewDataSet::level::get() {
    return this->tablelevel;
}

inline NewDataSet::aiDataTable^  NewDataSet::ai::get() {
    return this->tableai;
}

inline NewDataSet::baseDataTable^  NewDataSet::base::get() {
    return this->tablebase;
}

inline NewDataSet::unitDataTable^  NewDataSet::unit::get() {
    return this->tableunit;
}

inline NewDataSet::itemDataTable^  NewDataSet::item::get() {
    return this->tableitem;
}

inline NewDataSet::periodDataTable^  NewDataSet::period::get() {
    return this->tableperiod;
}

inline NewDataSet::_create_unitDataTable^  NewDataSet::_create_unit::get() {
    return this->table_create_unit;
}

inline ::System::Data::SchemaSerializationMode NewDataSet::SchemaSerializationMode::get() {
    return this->_schemaSerializationMode;
}
inline System::Void NewDataSet::SchemaSerializationMode::set(::System::Data::SchemaSerializationMode value) {
    this->_schemaSerializationMode = __identifier(value);
}

inline ::System::Data::DataTableCollection^  NewDataSet::Tables::get() {
    return __super::Tables;
}

inline ::System::Data::DataRelationCollection^  NewDataSet::Relations::get() {
    return __super::Relations;
}

inline ::System::Void NewDataSet::InitializeDerivedDataSet() {
    this->BeginInit();
    this->InitClass();
    this->EndInit();
}

inline ::System::Data::DataSet^  NewDataSet::Clone() {
    NewDataSet^  cln = (cli::safe_cast<NewDataSet^  >(__super::Clone()));
    cln->InitVars();
    cln->SchemaSerializationMode = this->SchemaSerializationMode;
    return cln;
}

inline ::System::Boolean NewDataSet::ShouldSerializeTables() {
    return false;
}

inline ::System::Boolean NewDataSet::ShouldSerializeRelations() {
    return false;
}

inline ::System::Void NewDataSet::ReadXmlSerializable(::System::Xml::XmlReader^  reader) {
    if (this->DetermineSchemaSerializationMode(reader) == ::System::Data::SchemaSerializationMode::IncludeSchema) {
        this->Reset();
        ::System::Data::DataSet^  ds = (gcnew ::System::Data::DataSet());
        ds->ReadXml(reader);
        if (ds->Tables[L"level"] != nullptr) {
            __super::Tables->Add((gcnew NewDataSet::levelDataTable(ds->Tables[L"level"])));
        }
        if (ds->Tables[L"ai"] != nullptr) {
            __super::Tables->Add((gcnew NewDataSet::aiDataTable(ds->Tables[L"ai"])));
        }
        if (ds->Tables[L"base"] != nullptr) {
            __super::Tables->Add((gcnew NewDataSet::baseDataTable(ds->Tables[L"base"])));
        }
        if (ds->Tables[L"unit"] != nullptr) {
            __super::Tables->Add((gcnew NewDataSet::unitDataTable(ds->Tables[L"unit"])));
        }
        if (ds->Tables[L"item"] != nullptr) {
            __super::Tables->Add((gcnew NewDataSet::itemDataTable(ds->Tables[L"item"])));
        }
        if (ds->Tables[L"period"] != nullptr) {
            __super::Tables->Add((gcnew NewDataSet::periodDataTable(ds->Tables[L"period"])));
        }
        if (ds->Tables[L"create-unit"] != nullptr) {
            __super::Tables->Add((gcnew NewDataSet::_create_unitDataTable(ds->Tables[L"create-unit"])));
        }
        this->DataSetName = ds->DataSetName;
        this->Prefix = ds->Prefix;
        this->Namespace = ds->Namespace;
        this->Locale = ds->Locale;
        this->CaseSensitive = ds->CaseSensitive;
        this->EnforceConstraints = ds->EnforceConstraints;
        this->Merge(ds, false, ::System::Data::MissingSchemaAction::Add);
        this->InitVars();
    }
    else {
        this->ReadXml(reader);
        this->InitVars();
    }
}

inline ::System::Xml::Schema::XmlSchema^  NewDataSet::GetSchemaSerializable() {
    ::System::IO::MemoryStream^  stream = (gcnew ::System::IO::MemoryStream());
    this->WriteXmlSchema((gcnew ::System::Xml::XmlTextWriter(stream, nullptr)));
    stream->Position = 0;
    return ::System::Xml::Schema::XmlSchema::Read((gcnew ::System::Xml::XmlTextReader(stream)), nullptr);
}

inline ::System::Void NewDataSet::InitVars() {
    this->InitVars(true);
}

inline ::System::Void NewDataSet::InitVars(::System::Boolean initTable) {
    this->tablelevel = (cli::safe_cast<NewDataSet::levelDataTable^  >(__super::Tables[L"level"]));
    if (initTable == true) {
        if (this->tablelevel != nullptr) {
            this->tablelevel->InitVars();
        }
    }
    this->tableai = (cli::safe_cast<NewDataSet::aiDataTable^  >(__super::Tables[L"ai"]));
    if (initTable == true) {
        if (this->tableai != nullptr) {
            this->tableai->InitVars();
        }
    }
    this->tablebase = (cli::safe_cast<NewDataSet::baseDataTable^  >(__super::Tables[L"base"]));
    if (initTable == true) {
        if (this->tablebase != nullptr) {
            this->tablebase->InitVars();
        }
    }
    this->tableunit = (cli::safe_cast<NewDataSet::unitDataTable^  >(__super::Tables[L"unit"]));
    if (initTable == true) {
        if (this->tableunit != nullptr) {
            this->tableunit->InitVars();
        }
    }
    this->tableitem = (cli::safe_cast<NewDataSet::itemDataTable^  >(__super::Tables[L"item"]));
    if (initTable == true) {
        if (this->tableitem != nullptr) {
            this->tableitem->InitVars();
        }
    }
    this->tableperiod = (cli::safe_cast<NewDataSet::periodDataTable^  >(__super::Tables[L"period"]));
    if (initTable == true) {
        if (this->tableperiod != nullptr) {
            this->tableperiod->InitVars();
        }
    }
    this->table_create_unit = (cli::safe_cast<NewDataSet::_create_unitDataTable^  >(__super::Tables[L"create-unit"]));
    if (initTable == true) {
        if (this->table_create_unit != nullptr) {
            this->table_create_unit->InitVars();
        }
    }
    this->relationlevel_ai = this->Relations[L"level_ai"];
    this->relationai_base = this->Relations[L"ai_base"];
    this->relationai_unit = this->Relations[L"ai_unit"];
    this->relationunit_item = this->Relations[L"unit_item"];
    this->relationai_period = this->Relations[L"ai_period"];
    this->_relationperiod_create_unit = this->Relations[L"period_create-unit"];
}

inline ::System::Void NewDataSet::InitClass() {
    this->DataSetName = L"NewDataSet";
    this->Prefix = L"";
    this->Namespace = L"http://www.gofgame.com/level.xsd";
    this->Locale = (gcnew ::System::Globalization::CultureInfo(L""));
    this->EnforceConstraints = true;
    this->SchemaSerializationMode = ::System::Data::SchemaSerializationMode::IncludeSchema;
    this->tablelevel = (gcnew NewDataSet::levelDataTable());
    __super::Tables->Add(this->tablelevel);
    this->tableai = (gcnew NewDataSet::aiDataTable());
    __super::Tables->Add(this->tableai);
    this->tablebase = (gcnew NewDataSet::baseDataTable());
    __super::Tables->Add(this->tablebase);
    this->tableunit = (gcnew NewDataSet::unitDataTable());
    __super::Tables->Add(this->tableunit);
    this->tableitem = (gcnew NewDataSet::itemDataTable());
    __super::Tables->Add(this->tableitem);
    this->tableperiod = (gcnew NewDataSet::periodDataTable());
    __super::Tables->Add(this->tableperiod);
    this->table_create_unit = (gcnew NewDataSet::_create_unitDataTable());
    __super::Tables->Add(this->table_create_unit);
    ::System::Data::ForeignKeyConstraint^  fkc;
    fkc = (gcnew ::System::Data::ForeignKeyConstraint(L"level_ai", gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->tablelevel->level_IdColumn}, 
        gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->tableai->level_IdColumn}));
    this->tableai->Constraints->Add(fkc);
    fkc->AcceptRejectRule = ::System::Data::AcceptRejectRule::None;
    fkc->DeleteRule = ::System::Data::Rule::Cascade;
    fkc->UpdateRule = ::System::Data::Rule::Cascade;
    fkc = (gcnew ::System::Data::ForeignKeyConstraint(L"ai_base", gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->tableai->ai_IdColumn}, 
        gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->tablebase->ai_IdColumn}));
    this->tablebase->Constraints->Add(fkc);
    fkc->AcceptRejectRule = ::System::Data::AcceptRejectRule::None;
    fkc->DeleteRule = ::System::Data::Rule::Cascade;
    fkc->UpdateRule = ::System::Data::Rule::Cascade;
    fkc = (gcnew ::System::Data::ForeignKeyConstraint(L"ai_unit", gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->tableai->ai_IdColumn}, 
        gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->tableunit->ai_IdColumn}));
    this->tableunit->Constraints->Add(fkc);
    fkc->AcceptRejectRule = ::System::Data::AcceptRejectRule::None;
    fkc->DeleteRule = ::System::Data::Rule::Cascade;
    fkc->UpdateRule = ::System::Data::Rule::Cascade;
    fkc = (gcnew ::System::Data::ForeignKeyConstraint(L"unit_item", gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->tableunit->unit_IdColumn}, 
        gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->tableitem->unit_IdColumn}));
    this->tableitem->Constraints->Add(fkc);
    fkc->AcceptRejectRule = ::System::Data::AcceptRejectRule::None;
    fkc->DeleteRule = ::System::Data::Rule::Cascade;
    fkc->UpdateRule = ::System::Data::Rule::Cascade;
    fkc = (gcnew ::System::Data::ForeignKeyConstraint(L"ai_period", gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->tableai->ai_IdColumn}, 
        gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->tableperiod->ai_IdColumn}));
    this->tableperiod->Constraints->Add(fkc);
    fkc->AcceptRejectRule = ::System::Data::AcceptRejectRule::None;
    fkc->DeleteRule = ::System::Data::Rule::Cascade;
    fkc->UpdateRule = ::System::Data::Rule::Cascade;
    fkc = (gcnew ::System::Data::ForeignKeyConstraint(L"period_create-unit", gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->tableperiod->period_IdColumn}, 
        gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->table_create_unit->period_IdColumn}));
    this->table_create_unit->Constraints->Add(fkc);
    fkc->AcceptRejectRule = ::System::Data::AcceptRejectRule::None;
    fkc->DeleteRule = ::System::Data::Rule::Cascade;
    fkc->UpdateRule = ::System::Data::Rule::Cascade;
    this->relationlevel_ai = (gcnew ::System::Data::DataRelation(L"level_ai", gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->tablelevel->level_IdColumn}, 
        gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->tableai->level_IdColumn}, false));
    this->relationlevel_ai->Nested = true;
    this->Relations->Add(this->relationlevel_ai);
    this->relationai_base = (gcnew ::System::Data::DataRelation(L"ai_base", gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->tableai->ai_IdColumn}, 
        gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->tablebase->ai_IdColumn}, false));
    this->relationai_base->Nested = true;
    this->Relations->Add(this->relationai_base);
    this->relationai_unit = (gcnew ::System::Data::DataRelation(L"ai_unit", gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->tableai->ai_IdColumn}, 
        gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->tableunit->ai_IdColumn}, false));
    this->relationai_unit->Nested = true;
    this->Relations->Add(this->relationai_unit);
    this->relationunit_item = (gcnew ::System::Data::DataRelation(L"unit_item", gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->tableunit->unit_IdColumn}, 
        gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->tableitem->unit_IdColumn}, false));
    this->relationunit_item->Nested = true;
    this->Relations->Add(this->relationunit_item);
    this->relationai_period = (gcnew ::System::Data::DataRelation(L"ai_period", gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->tableai->ai_IdColumn}, 
        gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->tableperiod->ai_IdColumn}, false));
    this->relationai_period->Nested = true;
    this->Relations->Add(this->relationai_period);
    this->_relationperiod_create_unit = (gcnew ::System::Data::DataRelation(L"period_create-unit", gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->tableperiod->period_IdColumn}, 
        gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->table_create_unit->period_IdColumn}, false));
    this->_relationperiod_create_unit->Nested = true;
    this->Relations->Add(this->_relationperiod_create_unit);
}

inline ::System::Boolean NewDataSet::ShouldSerializelevel() {
    return false;
}

inline ::System::Boolean NewDataSet::ShouldSerializeai() {
    return false;
}

inline ::System::Boolean NewDataSet::ShouldSerializebase() {
    return false;
}

inline ::System::Boolean NewDataSet::ShouldSerializeunit() {
    return false;
}

inline ::System::Boolean NewDataSet::ShouldSerializeitem() {
    return false;
}

inline ::System::Boolean NewDataSet::ShouldSerializeperiod() {
    return false;
}

inline ::System::Boolean NewDataSet::ShouldSerialize_create_unit() {
    return false;
}

inline ::System::Void NewDataSet::SchemaChanged(::System::Object^  sender, ::System::ComponentModel::CollectionChangeEventArgs^  e) {
    if (e->Action == ::System::ComponentModel::CollectionChangeAction::Remove) {
        this->InitVars();
    }
}

inline ::System::Xml::Schema::XmlSchemaComplexType^  NewDataSet::GetTypedDataSetSchema(::System::Xml::Schema::XmlSchemaSet^  xs) {
    NewDataSet^  ds = (gcnew NewDataSet());
    ::System::Xml::Schema::XmlSchemaComplexType^  type = (gcnew ::System::Xml::Schema::XmlSchemaComplexType());
    ::System::Xml::Schema::XmlSchemaSequence^  sequence = (gcnew ::System::Xml::Schema::XmlSchemaSequence());
    ::System::Xml::Schema::XmlSchemaAny^  any = (gcnew ::System::Xml::Schema::XmlSchemaAny());
    any->Namespace = ds->Namespace;
    sequence->Items->Add(any);
    type->Particle = sequence;
    ::System::Xml::Schema::XmlSchema^  dsSchema = ds->GetSchemaSerializable();
    if (xs->Contains(dsSchema->TargetNamespace)) {
        ::System::IO::MemoryStream^  s1 = (gcnew ::System::IO::MemoryStream());
        ::System::IO::MemoryStream^  s2 = (gcnew ::System::IO::MemoryStream());
        try {
            ::System::Xml::Schema::XmlSchema^  schema = nullptr;
            dsSchema->Write(s1);
            for (            ::System::Collections::IEnumerator^  schemas = xs->Schemas(dsSchema->TargetNamespace)->GetEnumerator(); schemas->MoveNext();             ) {
                schema = (cli::safe_cast<::System::Xml::Schema::XmlSchema^  >(schemas->Current));
                s2->SetLength(0);
                schema->Write(s2);
                if (s1->Length == s2->Length) {
                    s1->Position = 0;
                    s2->Position = 0;
                    for (                    ; ((s1->Position != s1->Length) 
                                && (s1->ReadByte() == s2->ReadByte()));                     ) {
                        ;
                    }
                    if (s1->Position == s1->Length) {
                        return type;
                    }
                }
            }
        }
        finally {
            if (s1 != nullptr) {
                s1->Close();
            }
            if (s2 != nullptr) {
                s2->Close();
            }
        }
    }
    xs->Add(dsSchema);
    return type;
}


inline NewDataSet::levelDataTable::levelDataTable() {
    this->TableName = L"level";
    this->BeginInit();
    this->InitClass();
    this->EndInit();
}

inline NewDataSet::levelDataTable::levelDataTable(::System::Data::DataTable^  table) {
    this->TableName = table->TableName;
    if (table->CaseSensitive != table->DataSet->CaseSensitive) {
        this->CaseSensitive = table->CaseSensitive;
    }
    if (table->Locale->ToString() != table->DataSet->Locale->ToString()) {
        this->Locale = table->Locale;
    }
    if (table->Namespace != table->DataSet->Namespace) {
        this->Namespace = table->Namespace;
    }
    this->Prefix = table->Prefix;
    this->MinimumCapacity = table->MinimumCapacity;
}

inline NewDataSet::levelDataTable::levelDataTable(::System::Runtime::Serialization::SerializationInfo^  info, ::System::Runtime::Serialization::StreamingContext context) : 
        ::System::Data::DataTable(info, context) {
    this->InitVars();
}

inline ::System::Data::DataColumn^  NewDataSet::levelDataTable::codeColumn::get() {
    return this->columncode;
}

inline ::System::Data::DataColumn^  NewDataSet::levelDataTable::nameColumn::get() {
    return this->columnname;
}

inline ::System::Data::DataColumn^  NewDataSet::levelDataTable::_background_imageColumn::get() {
    return this->column_background_image;
}

inline ::System::Data::DataColumn^  NewDataSet::levelDataTable::_background_soundColumn::get() {
    return this->column_background_sound;
}

inline ::System::Data::DataColumn^  NewDataSet::levelDataTable::descriptorColumn::get() {
    return this->columndescriptor;
}

inline ::System::Data::DataColumn^  NewDataSet::levelDataTable::level_IdColumn::get() {
    return this->columnlevel_Id;
}

inline ::System::Int32 NewDataSet::levelDataTable::Count::get() {
    return this->Rows->Count;
}

inline NewDataSet::levelRow^  NewDataSet::levelDataTable::default::get(::System::Int32 index) {
    return (cli::safe_cast<NewDataSet::levelRow^  >(this->Rows[index]));
}

inline ::System::Void NewDataSet::levelDataTable::AddlevelRow(NewDataSet::levelRow^  row) {
    this->Rows->Add(row);
}

inline NewDataSet::levelRow^  NewDataSet::levelDataTable::AddlevelRow(System::String^  code, System::String^  name, System::String^  _background_image, 
            System::String^  _background_sound, System::String^  descriptor) {
    NewDataSet::levelRow^  rowlevelRow = (cli::safe_cast<NewDataSet::levelRow^  >(this->NewRow()));
    cli::array< ::System::Object^  >^  columnValuesArray = gcnew cli::array< ::System::Object^  >(6) {code, name, _background_image, 
        _background_sound, descriptor, nullptr};
    rowlevelRow->ItemArray = columnValuesArray;
    this->Rows->Add(rowlevelRow);
    return rowlevelRow;
}

inline ::System::Collections::IEnumerator^  NewDataSet::levelDataTable::GetEnumerator() {
    return this->Rows->GetEnumerator();
}

inline ::System::Data::DataTable^  NewDataSet::levelDataTable::Clone() {
    NewDataSet::levelDataTable^  cln = (cli::safe_cast<NewDataSet::levelDataTable^  >(__super::Clone()));
    cln->InitVars();
    return cln;
}

inline ::System::Data::DataTable^  NewDataSet::levelDataTable::CreateInstance() {
    return (gcnew NewDataSet::levelDataTable());
}

inline ::System::Void NewDataSet::levelDataTable::InitVars() {
    this->columncode = __super::Columns[L"code"];
    this->columnname = __super::Columns[L"name"];
    this->column_background_image = __super::Columns[L"background-image"];
    this->column_background_sound = __super::Columns[L"background-sound"];
    this->columndescriptor = __super::Columns[L"descriptor"];
    this->columnlevel_Id = __super::Columns[L"level_Id"];
}

inline ::System::Void NewDataSet::levelDataTable::InitClass() {
    this->columncode = (gcnew ::System::Data::DataColumn(L"code", ::System::String::typeid, nullptr, ::System::Data::MappingType::Attribute));
    __super::Columns->Add(this->columncode);
    this->columnname = (gcnew ::System::Data::DataColumn(L"name", ::System::String::typeid, nullptr, ::System::Data::MappingType::Attribute));
    __super::Columns->Add(this->columnname);
    this->column_background_image = (gcnew ::System::Data::DataColumn(L"background-image", ::System::String::typeid, nullptr, ::System::Data::MappingType::Attribute));
    __super::Columns->Add(this->column_background_image);
    this->column_background_sound = (gcnew ::System::Data::DataColumn(L"background-sound", ::System::String::typeid, nullptr, ::System::Data::MappingType::Attribute));
    __super::Columns->Add(this->column_background_sound);
    this->columndescriptor = (gcnew ::System::Data::DataColumn(L"descriptor", ::System::String::typeid, nullptr, ::System::Data::MappingType::Element));
    __super::Columns->Add(this->columndescriptor);
    this->columnlevel_Id = (gcnew ::System::Data::DataColumn(L"level_Id", ::System::Int32::typeid, nullptr, ::System::Data::MappingType::Hidden));
    __super::Columns->Add(this->columnlevel_Id);
    this->Constraints->Add((gcnew ::System::Data::UniqueConstraint(L"Constraint1", gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->columnlevel_Id}, 
            true)));
    this->columncode->AllowDBNull = false;
    this->columncode->Namespace = L"";
    this->columnname->AllowDBNull = false;
    this->columnname->Namespace = L"";
    this->column_background_image->AllowDBNull = false;
    this->column_background_image->Namespace = L"";
    this->column_background_sound->Namespace = L"";
    this->columnlevel_Id->AutoIncrement = true;
    this->columnlevel_Id->AllowDBNull = false;
    this->columnlevel_Id->Unique = true;
}

inline NewDataSet::levelRow^  NewDataSet::levelDataTable::NewlevelRow() {
    return (cli::safe_cast<NewDataSet::levelRow^  >(this->NewRow()));
}

inline ::System::Data::DataRow^  NewDataSet::levelDataTable::NewRowFromBuilder(::System::Data::DataRowBuilder^  builder) {
    return (gcnew NewDataSet::levelRow(builder));
}

inline ::System::Type^  NewDataSet::levelDataTable::GetRowType() {
    return NewDataSet::levelRow::typeid;
}

inline ::System::Void NewDataSet::levelDataTable::OnRowChanged(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowChanged(e);
    {
        this->levelRowChanged(this, (gcnew NewDataSet::levelRowChangeEvent((cli::safe_cast<NewDataSet::levelRow^  >(e->Row)), 
                e->Action)));
    }
}

inline ::System::Void NewDataSet::levelDataTable::OnRowChanging(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowChanging(e);
    {
        this->levelRowChanging(this, (gcnew NewDataSet::levelRowChangeEvent((cli::safe_cast<NewDataSet::levelRow^  >(e->Row)), 
                e->Action)));
    }
}

inline ::System::Void NewDataSet::levelDataTable::OnRowDeleted(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowDeleted(e);
    {
        this->levelRowDeleted(this, (gcnew NewDataSet::levelRowChangeEvent((cli::safe_cast<NewDataSet::levelRow^  >(e->Row)), 
                e->Action)));
    }
}

inline ::System::Void NewDataSet::levelDataTable::OnRowDeleting(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowDeleting(e);
    {
        this->levelRowDeleting(this, (gcnew NewDataSet::levelRowChangeEvent((cli::safe_cast<NewDataSet::levelRow^  >(e->Row)), 
                e->Action)));
    }
}

inline ::System::Void NewDataSet::levelDataTable::RemovelevelRow(NewDataSet::levelRow^  row) {
    this->Rows->Remove(row);
}

inline ::System::Xml::Schema::XmlSchemaComplexType^  NewDataSet::levelDataTable::GetTypedTableSchema(::System::Xml::Schema::XmlSchemaSet^  xs) {
    ::System::Xml::Schema::XmlSchemaComplexType^  type = (gcnew ::System::Xml::Schema::XmlSchemaComplexType());
    ::System::Xml::Schema::XmlSchemaSequence^  sequence = (gcnew ::System::Xml::Schema::XmlSchemaSequence());
    NewDataSet^  ds = (gcnew NewDataSet());
    ::System::Xml::Schema::XmlSchemaAny^  any1 = (gcnew ::System::Xml::Schema::XmlSchemaAny());
    any1->Namespace = L"http://www.w3.org/2001/XMLSchema";
    any1->MinOccurs = ::System::Decimal(0);
    any1->MaxOccurs = ::System::Decimal::MaxValue;
    any1->ProcessContents = ::System::Xml::Schema::XmlSchemaContentProcessing::Lax;
    sequence->Items->Add(any1);
    ::System::Xml::Schema::XmlSchemaAny^  any2 = (gcnew ::System::Xml::Schema::XmlSchemaAny());
    any2->Namespace = L"urn:schemas-microsoft-com:xml-diffgram-v1";
    any2->MinOccurs = ::System::Decimal(1);
    any2->ProcessContents = ::System::Xml::Schema::XmlSchemaContentProcessing::Lax;
    sequence->Items->Add(any2);
    ::System::Xml::Schema::XmlSchemaAttribute^  attribute1 = (gcnew ::System::Xml::Schema::XmlSchemaAttribute());
    attribute1->Name = L"namespace";
    attribute1->FixedValue = ds->Namespace;
    type->Attributes->Add(attribute1);
    ::System::Xml::Schema::XmlSchemaAttribute^  attribute2 = (gcnew ::System::Xml::Schema::XmlSchemaAttribute());
    attribute2->Name = L"tableTypeName";
    attribute2->FixedValue = L"levelDataTable";
    type->Attributes->Add(attribute2);
    type->Particle = sequence;
    ::System::Xml::Schema::XmlSchema^  dsSchema = ds->GetSchemaSerializable();
    if (xs->Contains(dsSchema->TargetNamespace)) {
        ::System::IO::MemoryStream^  s1 = (gcnew ::System::IO::MemoryStream());
        ::System::IO::MemoryStream^  s2 = (gcnew ::System::IO::MemoryStream());
        try {
            ::System::Xml::Schema::XmlSchema^  schema = nullptr;
            dsSchema->Write(s1);
            for (            ::System::Collections::IEnumerator^  schemas = xs->Schemas(dsSchema->TargetNamespace)->GetEnumerator(); schemas->MoveNext();             ) {
                schema = (cli::safe_cast<::System::Xml::Schema::XmlSchema^  >(schemas->Current));
                s2->SetLength(0);
                schema->Write(s2);
                if (s1->Length == s2->Length) {
                    s1->Position = 0;
                    s2->Position = 0;
                    for (                    ; ((s1->Position != s1->Length) 
                                && (s1->ReadByte() == s2->ReadByte()));                     ) {
                        ;
                    }
                    if (s1->Position == s1->Length) {
                        return type;
                    }
                }
            }
        }
        finally {
            if (s1 != nullptr) {
                s1->Close();
            }
            if (s2 != nullptr) {
                s2->Close();
            }
        }
    }
    xs->Add(dsSchema);
    return type;
}


inline NewDataSet::aiDataTable::aiDataTable() {
    this->TableName = L"ai";
    this->BeginInit();
    this->InitClass();
    this->EndInit();
}

inline NewDataSet::aiDataTable::aiDataTable(::System::Data::DataTable^  table) {
    this->TableName = table->TableName;
    if (table->CaseSensitive != table->DataSet->CaseSensitive) {
        this->CaseSensitive = table->CaseSensitive;
    }
    if (table->Locale->ToString() != table->DataSet->Locale->ToString()) {
        this->Locale = table->Locale;
    }
    if (table->Namespace != table->DataSet->Namespace) {
        this->Namespace = table->Namespace;
    }
    this->Prefix = table->Prefix;
    this->MinimumCapacity = table->MinimumCapacity;
}

inline NewDataSet::aiDataTable::aiDataTable(::System::Runtime::Serialization::SerializationInfo^  info, ::System::Runtime::Serialization::StreamingContext context) : 
        ::System::Data::DataTable(info, context) {
    this->InitVars();
}

inline ::System::Data::DataColumn^  NewDataSet::aiDataTable::ai_IdColumn::get() {
    return this->columnai_Id;
}

inline ::System::Data::DataColumn^  NewDataSet::aiDataTable::level_IdColumn::get() {
    return this->columnlevel_Id;
}

inline ::System::Int32 NewDataSet::aiDataTable::Count::get() {
    return this->Rows->Count;
}

inline NewDataSet::aiRow^  NewDataSet::aiDataTable::default::get(::System::Int32 index) {
    return (cli::safe_cast<NewDataSet::aiRow^  >(this->Rows[index]));
}

inline ::System::Void NewDataSet::aiDataTable::AddaiRow(NewDataSet::aiRow^  row) {
    this->Rows->Add(row);
}

inline NewDataSet::aiRow^  NewDataSet::aiDataTable::AddaiRow(NewDataSet::levelRow^  parentlevelRowBylevel_ai) {
    NewDataSet::aiRow^  rowaiRow = (cli::safe_cast<NewDataSet::aiRow^  >(this->NewRow()));
    cli::array< ::System::Object^  >^  columnValuesArray = gcnew cli::array< ::System::Object^  >(2) {nullptr, nullptr};
    if (parentlevelRowBylevel_ai != nullptr) {
        columnValuesArray[1] = parentlevelRowBylevel_ai[5];
    }
    rowaiRow->ItemArray = columnValuesArray;
    this->Rows->Add(rowaiRow);
    return rowaiRow;
}

inline ::System::Collections::IEnumerator^  NewDataSet::aiDataTable::GetEnumerator() {
    return this->Rows->GetEnumerator();
}

inline ::System::Data::DataTable^  NewDataSet::aiDataTable::Clone() {
    NewDataSet::aiDataTable^  cln = (cli::safe_cast<NewDataSet::aiDataTable^  >(__super::Clone()));
    cln->InitVars();
    return cln;
}

inline ::System::Data::DataTable^  NewDataSet::aiDataTable::CreateInstance() {
    return (gcnew NewDataSet::aiDataTable());
}

inline ::System::Void NewDataSet::aiDataTable::InitVars() {
    this->columnai_Id = __super::Columns[L"ai_Id"];
    this->columnlevel_Id = __super::Columns[L"level_Id"];
}

inline ::System::Void NewDataSet::aiDataTable::InitClass() {
    this->columnai_Id = (gcnew ::System::Data::DataColumn(L"ai_Id", ::System::Int32::typeid, nullptr, ::System::Data::MappingType::Hidden));
    __super::Columns->Add(this->columnai_Id);
    this->columnlevel_Id = (gcnew ::System::Data::DataColumn(L"level_Id", ::System::Int32::typeid, nullptr, ::System::Data::MappingType::Hidden));
    __super::Columns->Add(this->columnlevel_Id);
    this->Constraints->Add((gcnew ::System::Data::UniqueConstraint(L"Constraint1", gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->columnai_Id}, 
            true)));
    this->columnai_Id->AutoIncrement = true;
    this->columnai_Id->AllowDBNull = false;
    this->columnai_Id->Unique = true;
}

inline NewDataSet::aiRow^  NewDataSet::aiDataTable::NewaiRow() {
    return (cli::safe_cast<NewDataSet::aiRow^  >(this->NewRow()));
}

inline ::System::Data::DataRow^  NewDataSet::aiDataTable::NewRowFromBuilder(::System::Data::DataRowBuilder^  builder) {
    return (gcnew NewDataSet::aiRow(builder));
}

inline ::System::Type^  NewDataSet::aiDataTable::GetRowType() {
    return NewDataSet::aiRow::typeid;
}

inline ::System::Void NewDataSet::aiDataTable::OnRowChanged(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowChanged(e);
    {
        this->aiRowChanged(this, (gcnew NewDataSet::aiRowChangeEvent((cli::safe_cast<NewDataSet::aiRow^  >(e->Row)), e->Action)));
    }
}

inline ::System::Void NewDataSet::aiDataTable::OnRowChanging(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowChanging(e);
    {
        this->aiRowChanging(this, (gcnew NewDataSet::aiRowChangeEvent((cli::safe_cast<NewDataSet::aiRow^  >(e->Row)), e->Action)));
    }
}

inline ::System::Void NewDataSet::aiDataTable::OnRowDeleted(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowDeleted(e);
    {
        this->aiRowDeleted(this, (gcnew NewDataSet::aiRowChangeEvent((cli::safe_cast<NewDataSet::aiRow^  >(e->Row)), e->Action)));
    }
}

inline ::System::Void NewDataSet::aiDataTable::OnRowDeleting(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowDeleting(e);
    {
        this->aiRowDeleting(this, (gcnew NewDataSet::aiRowChangeEvent((cli::safe_cast<NewDataSet::aiRow^  >(e->Row)), e->Action)));
    }
}

inline ::System::Void NewDataSet::aiDataTable::RemoveaiRow(NewDataSet::aiRow^  row) {
    this->Rows->Remove(row);
}

inline ::System::Xml::Schema::XmlSchemaComplexType^  NewDataSet::aiDataTable::GetTypedTableSchema(::System::Xml::Schema::XmlSchemaSet^  xs) {
    ::System::Xml::Schema::XmlSchemaComplexType^  type = (gcnew ::System::Xml::Schema::XmlSchemaComplexType());
    ::System::Xml::Schema::XmlSchemaSequence^  sequence = (gcnew ::System::Xml::Schema::XmlSchemaSequence());
    NewDataSet^  ds = (gcnew NewDataSet());
    ::System::Xml::Schema::XmlSchemaAny^  any1 = (gcnew ::System::Xml::Schema::XmlSchemaAny());
    any1->Namespace = L"http://www.w3.org/2001/XMLSchema";
    any1->MinOccurs = ::System::Decimal(0);
    any1->MaxOccurs = ::System::Decimal::MaxValue;
    any1->ProcessContents = ::System::Xml::Schema::XmlSchemaContentProcessing::Lax;
    sequence->Items->Add(any1);
    ::System::Xml::Schema::XmlSchemaAny^  any2 = (gcnew ::System::Xml::Schema::XmlSchemaAny());
    any2->Namespace = L"urn:schemas-microsoft-com:xml-diffgram-v1";
    any2->MinOccurs = ::System::Decimal(1);
    any2->ProcessContents = ::System::Xml::Schema::XmlSchemaContentProcessing::Lax;
    sequence->Items->Add(any2);
    ::System::Xml::Schema::XmlSchemaAttribute^  attribute1 = (gcnew ::System::Xml::Schema::XmlSchemaAttribute());
    attribute1->Name = L"namespace";
    attribute1->FixedValue = ds->Namespace;
    type->Attributes->Add(attribute1);
    ::System::Xml::Schema::XmlSchemaAttribute^  attribute2 = (gcnew ::System::Xml::Schema::XmlSchemaAttribute());
    attribute2->Name = L"tableTypeName";
    attribute2->FixedValue = L"aiDataTable";
    type->Attributes->Add(attribute2);
    type->Particle = sequence;
    ::System::Xml::Schema::XmlSchema^  dsSchema = ds->GetSchemaSerializable();
    if (xs->Contains(dsSchema->TargetNamespace)) {
        ::System::IO::MemoryStream^  s1 = (gcnew ::System::IO::MemoryStream());
        ::System::IO::MemoryStream^  s2 = (gcnew ::System::IO::MemoryStream());
        try {
            ::System::Xml::Schema::XmlSchema^  schema = nullptr;
            dsSchema->Write(s1);
            for (            ::System::Collections::IEnumerator^  schemas = xs->Schemas(dsSchema->TargetNamespace)->GetEnumerator(); schemas->MoveNext();             ) {
                schema = (cli::safe_cast<::System::Xml::Schema::XmlSchema^  >(schemas->Current));
                s2->SetLength(0);
                schema->Write(s2);
                if (s1->Length == s2->Length) {
                    s1->Position = 0;
                    s2->Position = 0;
                    for (                    ; ((s1->Position != s1->Length) 
                                && (s1->ReadByte() == s2->ReadByte()));                     ) {
                        ;
                    }
                    if (s1->Position == s1->Length) {
                        return type;
                    }
                }
            }
        }
        finally {
            if (s1 != nullptr) {
                s1->Close();
            }
            if (s2 != nullptr) {
                s2->Close();
            }
        }
    }
    xs->Add(dsSchema);
    return type;
}


inline NewDataSet::baseDataTable::baseDataTable() {
    this->TableName = L"base";
    this->BeginInit();
    this->InitClass();
    this->EndInit();
}

inline NewDataSet::baseDataTable::baseDataTable(::System::Data::DataTable^  table) {
    this->TableName = table->TableName;
    if (table->CaseSensitive != table->DataSet->CaseSensitive) {
        this->CaseSensitive = table->CaseSensitive;
    }
    if (table->Locale->ToString() != table->DataSet->Locale->ToString()) {
        this->Locale = table->Locale;
    }
    if (table->Namespace != table->DataSet->Namespace) {
        this->Namespace = table->Namespace;
    }
    this->Prefix = table->Prefix;
    this->MinimumCapacity = table->MinimumCapacity;
}

inline NewDataSet::baseDataTable::baseDataTable(::System::Runtime::Serialization::SerializationInfo^  info, ::System::Runtime::Serialization::StreamingContext context) : 
        ::System::Data::DataTable(info, context) {
    this->InitVars();
}

inline ::System::Data::DataColumn^  NewDataSet::baseDataTable::idColumn::get() {
    return this->columnid;
}

inline ::System::Data::DataColumn^  NewDataSet::baseDataTable::lvColumn::get() {
    return this->columnlv;
}

inline ::System::Data::DataColumn^  NewDataSet::baseDataTable::ai_IdColumn::get() {
    return this->columnai_Id;
}

inline ::System::Int32 NewDataSet::baseDataTable::Count::get() {
    return this->Rows->Count;
}

inline NewDataSet::baseRow^  NewDataSet::baseDataTable::default::get(::System::Int32 index) {
    return (cli::safe_cast<NewDataSet::baseRow^  >(this->Rows[index]));
}

inline ::System::Void NewDataSet::baseDataTable::AddbaseRow(NewDataSet::baseRow^  row) {
    this->Rows->Add(row);
}

inline NewDataSet::baseRow^  NewDataSet::baseDataTable::AddbaseRow(System::String^  id, System::Int64 lv, NewDataSet::aiRow^  parentaiRowByai_base) {
    NewDataSet::baseRow^  rowbaseRow = (cli::safe_cast<NewDataSet::baseRow^  >(this->NewRow()));
    cli::array< ::System::Object^  >^  columnValuesArray = gcnew cli::array< ::System::Object^  >(3) {id, lv, nullptr};
    if (parentaiRowByai_base != nullptr) {
        columnValuesArray[2] = parentaiRowByai_base[0];
    }
    rowbaseRow->ItemArray = columnValuesArray;
    this->Rows->Add(rowbaseRow);
    return rowbaseRow;
}

inline ::System::Collections::IEnumerator^  NewDataSet::baseDataTable::GetEnumerator() {
    return this->Rows->GetEnumerator();
}

inline ::System::Data::DataTable^  NewDataSet::baseDataTable::Clone() {
    NewDataSet::baseDataTable^  cln = (cli::safe_cast<NewDataSet::baseDataTable^  >(__super::Clone()));
    cln->InitVars();
    return cln;
}

inline ::System::Data::DataTable^  NewDataSet::baseDataTable::CreateInstance() {
    return (gcnew NewDataSet::baseDataTable());
}

inline ::System::Void NewDataSet::baseDataTable::InitVars() {
    this->columnid = __super::Columns[L"id"];
    this->columnlv = __super::Columns[L"lv"];
    this->columnai_Id = __super::Columns[L"ai_Id"];
}

inline ::System::Void NewDataSet::baseDataTable::InitClass() {
    this->columnid = (gcnew ::System::Data::DataColumn(L"id", ::System::String::typeid, nullptr, ::System::Data::MappingType::Attribute));
    __super::Columns->Add(this->columnid);
    this->columnlv = (gcnew ::System::Data::DataColumn(L"lv", ::System::Int64::typeid, nullptr, ::System::Data::MappingType::Attribute));
    __super::Columns->Add(this->columnlv);
    this->columnai_Id = (gcnew ::System::Data::DataColumn(L"ai_Id", ::System::Int32::typeid, nullptr, ::System::Data::MappingType::Hidden));
    __super::Columns->Add(this->columnai_Id);
    this->columnid->AllowDBNull = false;
    this->columnid->Namespace = L"";
    this->columnlv->AllowDBNull = false;
    this->columnlv->Namespace = L"";
}

inline NewDataSet::baseRow^  NewDataSet::baseDataTable::NewbaseRow() {
    return (cli::safe_cast<NewDataSet::baseRow^  >(this->NewRow()));
}

inline ::System::Data::DataRow^  NewDataSet::baseDataTable::NewRowFromBuilder(::System::Data::DataRowBuilder^  builder) {
    return (gcnew NewDataSet::baseRow(builder));
}

inline ::System::Type^  NewDataSet::baseDataTable::GetRowType() {
    return NewDataSet::baseRow::typeid;
}

inline ::System::Void NewDataSet::baseDataTable::OnRowChanged(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowChanged(e);
    {
        this->baseRowChanged(this, (gcnew NewDataSet::baseRowChangeEvent((cli::safe_cast<NewDataSet::baseRow^  >(e->Row)), e->Action)));
    }
}

inline ::System::Void NewDataSet::baseDataTable::OnRowChanging(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowChanging(e);
    {
        this->baseRowChanging(this, (gcnew NewDataSet::baseRowChangeEvent((cli::safe_cast<NewDataSet::baseRow^  >(e->Row)), e->Action)));
    }
}

inline ::System::Void NewDataSet::baseDataTable::OnRowDeleted(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowDeleted(e);
    {
        this->baseRowDeleted(this, (gcnew NewDataSet::baseRowChangeEvent((cli::safe_cast<NewDataSet::baseRow^  >(e->Row)), e->Action)));
    }
}

inline ::System::Void NewDataSet::baseDataTable::OnRowDeleting(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowDeleting(e);
    {
        this->baseRowDeleting(this, (gcnew NewDataSet::baseRowChangeEvent((cli::safe_cast<NewDataSet::baseRow^  >(e->Row)), e->Action)));
    }
}

inline ::System::Void NewDataSet::baseDataTable::RemovebaseRow(NewDataSet::baseRow^  row) {
    this->Rows->Remove(row);
}

inline ::System::Xml::Schema::XmlSchemaComplexType^  NewDataSet::baseDataTable::GetTypedTableSchema(::System::Xml::Schema::XmlSchemaSet^  xs) {
    ::System::Xml::Schema::XmlSchemaComplexType^  type = (gcnew ::System::Xml::Schema::XmlSchemaComplexType());
    ::System::Xml::Schema::XmlSchemaSequence^  sequence = (gcnew ::System::Xml::Schema::XmlSchemaSequence());
    NewDataSet^  ds = (gcnew NewDataSet());
    ::System::Xml::Schema::XmlSchemaAny^  any1 = (gcnew ::System::Xml::Schema::XmlSchemaAny());
    any1->Namespace = L"http://www.w3.org/2001/XMLSchema";
    any1->MinOccurs = ::System::Decimal(0);
    any1->MaxOccurs = ::System::Decimal::MaxValue;
    any1->ProcessContents = ::System::Xml::Schema::XmlSchemaContentProcessing::Lax;
    sequence->Items->Add(any1);
    ::System::Xml::Schema::XmlSchemaAny^  any2 = (gcnew ::System::Xml::Schema::XmlSchemaAny());
    any2->Namespace = L"urn:schemas-microsoft-com:xml-diffgram-v1";
    any2->MinOccurs = ::System::Decimal(1);
    any2->ProcessContents = ::System::Xml::Schema::XmlSchemaContentProcessing::Lax;
    sequence->Items->Add(any2);
    ::System::Xml::Schema::XmlSchemaAttribute^  attribute1 = (gcnew ::System::Xml::Schema::XmlSchemaAttribute());
    attribute1->Name = L"namespace";
    attribute1->FixedValue = ds->Namespace;
    type->Attributes->Add(attribute1);
    ::System::Xml::Schema::XmlSchemaAttribute^  attribute2 = (gcnew ::System::Xml::Schema::XmlSchemaAttribute());
    attribute2->Name = L"tableTypeName";
    attribute2->FixedValue = L"baseDataTable";
    type->Attributes->Add(attribute2);
    type->Particle = sequence;
    ::System::Xml::Schema::XmlSchema^  dsSchema = ds->GetSchemaSerializable();
    if (xs->Contains(dsSchema->TargetNamespace)) {
        ::System::IO::MemoryStream^  s1 = (gcnew ::System::IO::MemoryStream());
        ::System::IO::MemoryStream^  s2 = (gcnew ::System::IO::MemoryStream());
        try {
            ::System::Xml::Schema::XmlSchema^  schema = nullptr;
            dsSchema->Write(s1);
            for (            ::System::Collections::IEnumerator^  schemas = xs->Schemas(dsSchema->TargetNamespace)->GetEnumerator(); schemas->MoveNext();             ) {
                schema = (cli::safe_cast<::System::Xml::Schema::XmlSchema^  >(schemas->Current));
                s2->SetLength(0);
                schema->Write(s2);
                if (s1->Length == s2->Length) {
                    s1->Position = 0;
                    s2->Position = 0;
                    for (                    ; ((s1->Position != s1->Length) 
                                && (s1->ReadByte() == s2->ReadByte()));                     ) {
                        ;
                    }
                    if (s1->Position == s1->Length) {
                        return type;
                    }
                }
            }
        }
        finally {
            if (s1 != nullptr) {
                s1->Close();
            }
            if (s2 != nullptr) {
                s2->Close();
            }
        }
    }
    xs->Add(dsSchema);
    return type;
}


inline NewDataSet::unitDataTable::unitDataTable() {
    this->TableName = L"unit";
    this->BeginInit();
    this->InitClass();
    this->EndInit();
}

inline NewDataSet::unitDataTable::unitDataTable(::System::Data::DataTable^  table) {
    this->TableName = table->TableName;
    if (table->CaseSensitive != table->DataSet->CaseSensitive) {
        this->CaseSensitive = table->CaseSensitive;
    }
    if (table->Locale->ToString() != table->DataSet->Locale->ToString()) {
        this->Locale = table->Locale;
    }
    if (table->Namespace != table->DataSet->Namespace) {
        this->Namespace = table->Namespace;
    }
    this->Prefix = table->Prefix;
    this->MinimumCapacity = table->MinimumCapacity;
}

inline NewDataSet::unitDataTable::unitDataTable(::System::Runtime::Serialization::SerializationInfo^  info, ::System::Runtime::Serialization::StreamingContext context) : 
        ::System::Data::DataTable(info, context) {
    this->InitVars();
}

inline ::System::Data::DataColumn^  NewDataSet::unitDataTable::idColumn::get() {
    return this->columnid;
}

inline ::System::Data::DataColumn^  NewDataSet::unitDataTable::lvColumn::get() {
    return this->columnlv;
}

inline ::System::Data::DataColumn^  NewDataSet::unitDataTable::unit_IdColumn::get() {
    return this->columnunit_Id;
}

inline ::System::Data::DataColumn^  NewDataSet::unitDataTable::ai_IdColumn::get() {
    return this->columnai_Id;
}

inline ::System::Int32 NewDataSet::unitDataTable::Count::get() {
    return this->Rows->Count;
}

inline NewDataSet::unitRow^  NewDataSet::unitDataTable::default::get(::System::Int32 index) {
    return (cli::safe_cast<NewDataSet::unitRow^  >(this->Rows[index]));
}

inline ::System::Void NewDataSet::unitDataTable::AddunitRow(NewDataSet::unitRow^  row) {
    this->Rows->Add(row);
}

inline NewDataSet::unitRow^  NewDataSet::unitDataTable::AddunitRow(System::String^  id, System::Int64 lv, NewDataSet::aiRow^  parentaiRowByai_unit) {
    NewDataSet::unitRow^  rowunitRow = (cli::safe_cast<NewDataSet::unitRow^  >(this->NewRow()));
    cli::array< ::System::Object^  >^  columnValuesArray = gcnew cli::array< ::System::Object^  >(4) {id, lv, nullptr, nullptr};
    if (parentaiRowByai_unit != nullptr) {
        columnValuesArray[3] = parentaiRowByai_unit[0];
    }
    rowunitRow->ItemArray = columnValuesArray;
    this->Rows->Add(rowunitRow);
    return rowunitRow;
}

inline ::System::Collections::IEnumerator^  NewDataSet::unitDataTable::GetEnumerator() {
    return this->Rows->GetEnumerator();
}

inline ::System::Data::DataTable^  NewDataSet::unitDataTable::Clone() {
    NewDataSet::unitDataTable^  cln = (cli::safe_cast<NewDataSet::unitDataTable^  >(__super::Clone()));
    cln->InitVars();
    return cln;
}

inline ::System::Data::DataTable^  NewDataSet::unitDataTable::CreateInstance() {
    return (gcnew NewDataSet::unitDataTable());
}

inline ::System::Void NewDataSet::unitDataTable::InitVars() {
    this->columnid = __super::Columns[L"id"];
    this->columnlv = __super::Columns[L"lv"];
    this->columnunit_Id = __super::Columns[L"unit_Id"];
    this->columnai_Id = __super::Columns[L"ai_Id"];
}

inline ::System::Void NewDataSet::unitDataTable::InitClass() {
    this->columnid = (gcnew ::System::Data::DataColumn(L"id", ::System::String::typeid, nullptr, ::System::Data::MappingType::Attribute));
    __super::Columns->Add(this->columnid);
    this->columnlv = (gcnew ::System::Data::DataColumn(L"lv", ::System::Int64::typeid, nullptr, ::System::Data::MappingType::Attribute));
    __super::Columns->Add(this->columnlv);
    this->columnunit_Id = (gcnew ::System::Data::DataColumn(L"unit_Id", ::System::Int32::typeid, nullptr, ::System::Data::MappingType::Hidden));
    __super::Columns->Add(this->columnunit_Id);
    this->columnai_Id = (gcnew ::System::Data::DataColumn(L"ai_Id", ::System::Int32::typeid, nullptr, ::System::Data::MappingType::Hidden));
    __super::Columns->Add(this->columnai_Id);
    this->Constraints->Add((gcnew ::System::Data::UniqueConstraint(L"Constraint1", gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->columnunit_Id}, 
            true)));
    this->columnid->AllowDBNull = false;
    this->columnid->Namespace = L"";
    this->columnlv->AllowDBNull = false;
    this->columnlv->Namespace = L"";
    this->columnunit_Id->AutoIncrement = true;
    this->columnunit_Id->AllowDBNull = false;
    this->columnunit_Id->Unique = true;
}

inline NewDataSet::unitRow^  NewDataSet::unitDataTable::NewunitRow() {
    return (cli::safe_cast<NewDataSet::unitRow^  >(this->NewRow()));
}

inline ::System::Data::DataRow^  NewDataSet::unitDataTable::NewRowFromBuilder(::System::Data::DataRowBuilder^  builder) {
    return (gcnew NewDataSet::unitRow(builder));
}

inline ::System::Type^  NewDataSet::unitDataTable::GetRowType() {
    return NewDataSet::unitRow::typeid;
}

inline ::System::Void NewDataSet::unitDataTable::OnRowChanged(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowChanged(e);
    {
        this->unitRowChanged(this, (gcnew NewDataSet::unitRowChangeEvent((cli::safe_cast<NewDataSet::unitRow^  >(e->Row)), e->Action)));
    }
}

inline ::System::Void NewDataSet::unitDataTable::OnRowChanging(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowChanging(e);
    {
        this->unitRowChanging(this, (gcnew NewDataSet::unitRowChangeEvent((cli::safe_cast<NewDataSet::unitRow^  >(e->Row)), e->Action)));
    }
}

inline ::System::Void NewDataSet::unitDataTable::OnRowDeleted(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowDeleted(e);
    {
        this->unitRowDeleted(this, (gcnew NewDataSet::unitRowChangeEvent((cli::safe_cast<NewDataSet::unitRow^  >(e->Row)), e->Action)));
    }
}

inline ::System::Void NewDataSet::unitDataTable::OnRowDeleting(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowDeleting(e);
    {
        this->unitRowDeleting(this, (gcnew NewDataSet::unitRowChangeEvent((cli::safe_cast<NewDataSet::unitRow^  >(e->Row)), e->Action)));
    }
}

inline ::System::Void NewDataSet::unitDataTable::RemoveunitRow(NewDataSet::unitRow^  row) {
    this->Rows->Remove(row);
}

inline ::System::Xml::Schema::XmlSchemaComplexType^  NewDataSet::unitDataTable::GetTypedTableSchema(::System::Xml::Schema::XmlSchemaSet^  xs) {
    ::System::Xml::Schema::XmlSchemaComplexType^  type = (gcnew ::System::Xml::Schema::XmlSchemaComplexType());
    ::System::Xml::Schema::XmlSchemaSequence^  sequence = (gcnew ::System::Xml::Schema::XmlSchemaSequence());
    NewDataSet^  ds = (gcnew NewDataSet());
    ::System::Xml::Schema::XmlSchemaAny^  any1 = (gcnew ::System::Xml::Schema::XmlSchemaAny());
    any1->Namespace = L"http://www.w3.org/2001/XMLSchema";
    any1->MinOccurs = ::System::Decimal(0);
    any1->MaxOccurs = ::System::Decimal::MaxValue;
    any1->ProcessContents = ::System::Xml::Schema::XmlSchemaContentProcessing::Lax;
    sequence->Items->Add(any1);
    ::System::Xml::Schema::XmlSchemaAny^  any2 = (gcnew ::System::Xml::Schema::XmlSchemaAny());
    any2->Namespace = L"urn:schemas-microsoft-com:xml-diffgram-v1";
    any2->MinOccurs = ::System::Decimal(1);
    any2->ProcessContents = ::System::Xml::Schema::XmlSchemaContentProcessing::Lax;
    sequence->Items->Add(any2);
    ::System::Xml::Schema::XmlSchemaAttribute^  attribute1 = (gcnew ::System::Xml::Schema::XmlSchemaAttribute());
    attribute1->Name = L"namespace";
    attribute1->FixedValue = ds->Namespace;
    type->Attributes->Add(attribute1);
    ::System::Xml::Schema::XmlSchemaAttribute^  attribute2 = (gcnew ::System::Xml::Schema::XmlSchemaAttribute());
    attribute2->Name = L"tableTypeName";
    attribute2->FixedValue = L"unitDataTable";
    type->Attributes->Add(attribute2);
    type->Particle = sequence;
    ::System::Xml::Schema::XmlSchema^  dsSchema = ds->GetSchemaSerializable();
    if (xs->Contains(dsSchema->TargetNamespace)) {
        ::System::IO::MemoryStream^  s1 = (gcnew ::System::IO::MemoryStream());
        ::System::IO::MemoryStream^  s2 = (gcnew ::System::IO::MemoryStream());
        try {
            ::System::Xml::Schema::XmlSchema^  schema = nullptr;
            dsSchema->Write(s1);
            for (            ::System::Collections::IEnumerator^  schemas = xs->Schemas(dsSchema->TargetNamespace)->GetEnumerator(); schemas->MoveNext();             ) {
                schema = (cli::safe_cast<::System::Xml::Schema::XmlSchema^  >(schemas->Current));
                s2->SetLength(0);
                schema->Write(s2);
                if (s1->Length == s2->Length) {
                    s1->Position = 0;
                    s2->Position = 0;
                    for (                    ; ((s1->Position != s1->Length) 
                                && (s1->ReadByte() == s2->ReadByte()));                     ) {
                        ;
                    }
                    if (s1->Position == s1->Length) {
                        return type;
                    }
                }
            }
        }
        finally {
            if (s1 != nullptr) {
                s1->Close();
            }
            if (s2 != nullptr) {
                s2->Close();
            }
        }
    }
    xs->Add(dsSchema);
    return type;
}


inline NewDataSet::itemDataTable::itemDataTable() {
    this->TableName = L"item";
    this->BeginInit();
    this->InitClass();
    this->EndInit();
}

inline NewDataSet::itemDataTable::itemDataTable(::System::Data::DataTable^  table) {
    this->TableName = table->TableName;
    if (table->CaseSensitive != table->DataSet->CaseSensitive) {
        this->CaseSensitive = table->CaseSensitive;
    }
    if (table->Locale->ToString() != table->DataSet->Locale->ToString()) {
        this->Locale = table->Locale;
    }
    if (table->Namespace != table->DataSet->Namespace) {
        this->Namespace = table->Namespace;
    }
    this->Prefix = table->Prefix;
    this->MinimumCapacity = table->MinimumCapacity;
}

inline NewDataSet::itemDataTable::itemDataTable(::System::Runtime::Serialization::SerializationInfo^  info, ::System::Runtime::Serialization::StreamingContext context) : 
        ::System::Data::DataTable(info, context) {
    this->InitVars();
}

inline ::System::Data::DataColumn^  NewDataSet::itemDataTable::idColumn::get() {
    return this->columnid;
}

inline ::System::Data::DataColumn^  NewDataSet::itemDataTable::rateColumn::get() {
    return this->columnrate;
}

inline ::System::Data::DataColumn^  NewDataSet::itemDataTable::unit_IdColumn::get() {
    return this->columnunit_Id;
}

inline ::System::Int32 NewDataSet::itemDataTable::Count::get() {
    return this->Rows->Count;
}

inline NewDataSet::itemRow^  NewDataSet::itemDataTable::default::get(::System::Int32 index) {
    return (cli::safe_cast<NewDataSet::itemRow^  >(this->Rows[index]));
}

inline ::System::Void NewDataSet::itemDataTable::AdditemRow(NewDataSet::itemRow^  row) {
    this->Rows->Add(row);
}

inline NewDataSet::itemRow^  NewDataSet::itemDataTable::AdditemRow(System::String^  id, System::Int64 rate, NewDataSet::unitRow^  parentunitRowByunit_item) {
    NewDataSet::itemRow^  rowitemRow = (cli::safe_cast<NewDataSet::itemRow^  >(this->NewRow()));
    cli::array< ::System::Object^  >^  columnValuesArray = gcnew cli::array< ::System::Object^  >(3) {id, rate, nullptr};
    if (parentunitRowByunit_item != nullptr) {
        columnValuesArray[2] = parentunitRowByunit_item[2];
    }
    rowitemRow->ItemArray = columnValuesArray;
    this->Rows->Add(rowitemRow);
    return rowitemRow;
}

inline ::System::Collections::IEnumerator^  NewDataSet::itemDataTable::GetEnumerator() {
    return this->Rows->GetEnumerator();
}

inline ::System::Data::DataTable^  NewDataSet::itemDataTable::Clone() {
    NewDataSet::itemDataTable^  cln = (cli::safe_cast<NewDataSet::itemDataTable^  >(__super::Clone()));
    cln->InitVars();
    return cln;
}

inline ::System::Data::DataTable^  NewDataSet::itemDataTable::CreateInstance() {
    return (gcnew NewDataSet::itemDataTable());
}

inline ::System::Void NewDataSet::itemDataTable::InitVars() {
    this->columnid = __super::Columns[L"id"];
    this->columnrate = __super::Columns[L"rate"];
    this->columnunit_Id = __super::Columns[L"unit_Id"];
}

inline ::System::Void NewDataSet::itemDataTable::InitClass() {
    this->columnid = (gcnew ::System::Data::DataColumn(L"id", ::System::String::typeid, nullptr, ::System::Data::MappingType::Attribute));
    __super::Columns->Add(this->columnid);
    this->columnrate = (gcnew ::System::Data::DataColumn(L"rate", ::System::Int64::typeid, nullptr, ::System::Data::MappingType::Attribute));
    __super::Columns->Add(this->columnrate);
    this->columnunit_Id = (gcnew ::System::Data::DataColumn(L"unit_Id", ::System::Int32::typeid, nullptr, ::System::Data::MappingType::Hidden));
    __super::Columns->Add(this->columnunit_Id);
    this->columnid->AllowDBNull = false;
    this->columnid->Namespace = L"";
    this->columnrate->Namespace = L"";
}

inline NewDataSet::itemRow^  NewDataSet::itemDataTable::NewitemRow() {
    return (cli::safe_cast<NewDataSet::itemRow^  >(this->NewRow()));
}

inline ::System::Data::DataRow^  NewDataSet::itemDataTable::NewRowFromBuilder(::System::Data::DataRowBuilder^  builder) {
    return (gcnew NewDataSet::itemRow(builder));
}

inline ::System::Type^  NewDataSet::itemDataTable::GetRowType() {
    return NewDataSet::itemRow::typeid;
}

inline ::System::Void NewDataSet::itemDataTable::OnRowChanged(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowChanged(e);
    {
        this->itemRowChanged(this, (gcnew NewDataSet::itemRowChangeEvent((cli::safe_cast<NewDataSet::itemRow^  >(e->Row)), e->Action)));
    }
}

inline ::System::Void NewDataSet::itemDataTable::OnRowChanging(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowChanging(e);
    {
        this->itemRowChanging(this, (gcnew NewDataSet::itemRowChangeEvent((cli::safe_cast<NewDataSet::itemRow^  >(e->Row)), e->Action)));
    }
}

inline ::System::Void NewDataSet::itemDataTable::OnRowDeleted(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowDeleted(e);
    {
        this->itemRowDeleted(this, (gcnew NewDataSet::itemRowChangeEvent((cli::safe_cast<NewDataSet::itemRow^  >(e->Row)), e->Action)));
    }
}

inline ::System::Void NewDataSet::itemDataTable::OnRowDeleting(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowDeleting(e);
    {
        this->itemRowDeleting(this, (gcnew NewDataSet::itemRowChangeEvent((cli::safe_cast<NewDataSet::itemRow^  >(e->Row)), e->Action)));
    }
}

inline ::System::Void NewDataSet::itemDataTable::RemoveitemRow(NewDataSet::itemRow^  row) {
    this->Rows->Remove(row);
}

inline ::System::Xml::Schema::XmlSchemaComplexType^  NewDataSet::itemDataTable::GetTypedTableSchema(::System::Xml::Schema::XmlSchemaSet^  xs) {
    ::System::Xml::Schema::XmlSchemaComplexType^  type = (gcnew ::System::Xml::Schema::XmlSchemaComplexType());
    ::System::Xml::Schema::XmlSchemaSequence^  sequence = (gcnew ::System::Xml::Schema::XmlSchemaSequence());
    NewDataSet^  ds = (gcnew NewDataSet());
    ::System::Xml::Schema::XmlSchemaAny^  any1 = (gcnew ::System::Xml::Schema::XmlSchemaAny());
    any1->Namespace = L"http://www.w3.org/2001/XMLSchema";
    any1->MinOccurs = ::System::Decimal(0);
    any1->MaxOccurs = ::System::Decimal::MaxValue;
    any1->ProcessContents = ::System::Xml::Schema::XmlSchemaContentProcessing::Lax;
    sequence->Items->Add(any1);
    ::System::Xml::Schema::XmlSchemaAny^  any2 = (gcnew ::System::Xml::Schema::XmlSchemaAny());
    any2->Namespace = L"urn:schemas-microsoft-com:xml-diffgram-v1";
    any2->MinOccurs = ::System::Decimal(1);
    any2->ProcessContents = ::System::Xml::Schema::XmlSchemaContentProcessing::Lax;
    sequence->Items->Add(any2);
    ::System::Xml::Schema::XmlSchemaAttribute^  attribute1 = (gcnew ::System::Xml::Schema::XmlSchemaAttribute());
    attribute1->Name = L"namespace";
    attribute1->FixedValue = ds->Namespace;
    type->Attributes->Add(attribute1);
    ::System::Xml::Schema::XmlSchemaAttribute^  attribute2 = (gcnew ::System::Xml::Schema::XmlSchemaAttribute());
    attribute2->Name = L"tableTypeName";
    attribute2->FixedValue = L"itemDataTable";
    type->Attributes->Add(attribute2);
    type->Particle = sequence;
    ::System::Xml::Schema::XmlSchema^  dsSchema = ds->GetSchemaSerializable();
    if (xs->Contains(dsSchema->TargetNamespace)) {
        ::System::IO::MemoryStream^  s1 = (gcnew ::System::IO::MemoryStream());
        ::System::IO::MemoryStream^  s2 = (gcnew ::System::IO::MemoryStream());
        try {
            ::System::Xml::Schema::XmlSchema^  schema = nullptr;
            dsSchema->Write(s1);
            for (            ::System::Collections::IEnumerator^  schemas = xs->Schemas(dsSchema->TargetNamespace)->GetEnumerator(); schemas->MoveNext();             ) {
                schema = (cli::safe_cast<::System::Xml::Schema::XmlSchema^  >(schemas->Current));
                s2->SetLength(0);
                schema->Write(s2);
                if (s1->Length == s2->Length) {
                    s1->Position = 0;
                    s2->Position = 0;
                    for (                    ; ((s1->Position != s1->Length) 
                                && (s1->ReadByte() == s2->ReadByte()));                     ) {
                        ;
                    }
                    if (s1->Position == s1->Length) {
                        return type;
                    }
                }
            }
        }
        finally {
            if (s1 != nullptr) {
                s1->Close();
            }
            if (s2 != nullptr) {
                s2->Close();
            }
        }
    }
    xs->Add(dsSchema);
    return type;
}


inline NewDataSet::periodDataTable::periodDataTable() {
    this->TableName = L"period";
    this->BeginInit();
    this->InitClass();
    this->EndInit();
}

inline NewDataSet::periodDataTable::periodDataTable(::System::Data::DataTable^  table) {
    this->TableName = table->TableName;
    if (table->CaseSensitive != table->DataSet->CaseSensitive) {
        this->CaseSensitive = table->CaseSensitive;
    }
    if (table->Locale->ToString() != table->DataSet->Locale->ToString()) {
        this->Locale = table->Locale;
    }
    if (table->Namespace != table->DataSet->Namespace) {
        this->Namespace = table->Namespace;
    }
    this->Prefix = table->Prefix;
    this->MinimumCapacity = table->MinimumCapacity;
}

inline NewDataSet::periodDataTable::periodDataTable(::System::Runtime::Serialization::SerializationInfo^  info, ::System::Runtime::Serialization::StreamingContext context) : 
        ::System::Data::DataTable(info, context) {
    this->InitVars();
}

inline ::System::Data::DataColumn^  NewDataSet::periodDataTable::_start_timeColumn::get() {
    return this->column_start_time;
}

inline ::System::Data::DataColumn^  NewDataSet::periodDataTable::_end_timeColumn::get() {
    return this->column_end_time;
}

inline ::System::Data::DataColumn^  NewDataSet::periodDataTable::period_IdColumn::get() {
    return this->columnperiod_Id;
}

inline ::System::Data::DataColumn^  NewDataSet::periodDataTable::ai_IdColumn::get() {
    return this->columnai_Id;
}

inline ::System::Int32 NewDataSet::periodDataTable::Count::get() {
    return this->Rows->Count;
}

inline NewDataSet::periodRow^  NewDataSet::periodDataTable::default::get(::System::Int32 index) {
    return (cli::safe_cast<NewDataSet::periodRow^  >(this->Rows[index]));
}

inline ::System::Void NewDataSet::periodDataTable::AddperiodRow(NewDataSet::periodRow^  row) {
    this->Rows->Add(row);
}

inline NewDataSet::periodRow^  NewDataSet::periodDataTable::AddperiodRow(System::Int64 _start_time, System::Int64 _end_time, 
            NewDataSet::aiRow^  parentaiRowByai_period) {
    NewDataSet::periodRow^  rowperiodRow = (cli::safe_cast<NewDataSet::periodRow^  >(this->NewRow()));
    cli::array< ::System::Object^  >^  columnValuesArray = gcnew cli::array< ::System::Object^  >(4) {_start_time, _end_time, 
        nullptr, nullptr};
    if (parentaiRowByai_period != nullptr) {
        columnValuesArray[3] = parentaiRowByai_period[0];
    }
    rowperiodRow->ItemArray = columnValuesArray;
    this->Rows->Add(rowperiodRow);
    return rowperiodRow;
}

inline ::System::Collections::IEnumerator^  NewDataSet::periodDataTable::GetEnumerator() {
    return this->Rows->GetEnumerator();
}

inline ::System::Data::DataTable^  NewDataSet::periodDataTable::Clone() {
    NewDataSet::periodDataTable^  cln = (cli::safe_cast<NewDataSet::periodDataTable^  >(__super::Clone()));
    cln->InitVars();
    return cln;
}

inline ::System::Data::DataTable^  NewDataSet::periodDataTable::CreateInstance() {
    return (gcnew NewDataSet::periodDataTable());
}

inline ::System::Void NewDataSet::periodDataTable::InitVars() {
    this->column_start_time = __super::Columns[L"start-time"];
    this->column_end_time = __super::Columns[L"end-time"];
    this->columnperiod_Id = __super::Columns[L"period_Id"];
    this->columnai_Id = __super::Columns[L"ai_Id"];
}

inline ::System::Void NewDataSet::periodDataTable::InitClass() {
    this->column_start_time = (gcnew ::System::Data::DataColumn(L"start-time", ::System::Int64::typeid, nullptr, ::System::Data::MappingType::Attribute));
    __super::Columns->Add(this->column_start_time);
    this->column_end_time = (gcnew ::System::Data::DataColumn(L"end-time", ::System::Int64::typeid, nullptr, ::System::Data::MappingType::Attribute));
    __super::Columns->Add(this->column_end_time);
    this->columnperiod_Id = (gcnew ::System::Data::DataColumn(L"period_Id", ::System::Int32::typeid, nullptr, ::System::Data::MappingType::Hidden));
    __super::Columns->Add(this->columnperiod_Id);
    this->columnai_Id = (gcnew ::System::Data::DataColumn(L"ai_Id", ::System::Int32::typeid, nullptr, ::System::Data::MappingType::Hidden));
    __super::Columns->Add(this->columnai_Id);
    this->Constraints->Add((gcnew ::System::Data::UniqueConstraint(L"Constraint1", gcnew cli::array< ::System::Data::DataColumn^  >(1) {this->columnperiod_Id}, 
            true)));
    this->column_start_time->AllowDBNull = false;
    this->column_start_time->Namespace = L"";
    this->column_end_time->Namespace = L"";
    this->columnperiod_Id->AutoIncrement = true;
    this->columnperiod_Id->AllowDBNull = false;
    this->columnperiod_Id->Unique = true;
}

inline NewDataSet::periodRow^  NewDataSet::periodDataTable::NewperiodRow() {
    return (cli::safe_cast<NewDataSet::periodRow^  >(this->NewRow()));
}

inline ::System::Data::DataRow^  NewDataSet::periodDataTable::NewRowFromBuilder(::System::Data::DataRowBuilder^  builder) {
    return (gcnew NewDataSet::periodRow(builder));
}

inline ::System::Type^  NewDataSet::periodDataTable::GetRowType() {
    return NewDataSet::periodRow::typeid;
}

inline ::System::Void NewDataSet::periodDataTable::OnRowChanged(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowChanged(e);
    {
        this->periodRowChanged(this, (gcnew NewDataSet::periodRowChangeEvent((cli::safe_cast<NewDataSet::periodRow^  >(e->Row)), 
                e->Action)));
    }
}

inline ::System::Void NewDataSet::periodDataTable::OnRowChanging(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowChanging(e);
    {
        this->periodRowChanging(this, (gcnew NewDataSet::periodRowChangeEvent((cli::safe_cast<NewDataSet::periodRow^  >(e->Row)), 
                e->Action)));
    }
}

inline ::System::Void NewDataSet::periodDataTable::OnRowDeleted(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowDeleted(e);
    {
        this->periodRowDeleted(this, (gcnew NewDataSet::periodRowChangeEvent((cli::safe_cast<NewDataSet::periodRow^  >(e->Row)), 
                e->Action)));
    }
}

inline ::System::Void NewDataSet::periodDataTable::OnRowDeleting(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowDeleting(e);
    {
        this->periodRowDeleting(this, (gcnew NewDataSet::periodRowChangeEvent((cli::safe_cast<NewDataSet::periodRow^  >(e->Row)), 
                e->Action)));
    }
}

inline ::System::Void NewDataSet::periodDataTable::RemoveperiodRow(NewDataSet::periodRow^  row) {
    this->Rows->Remove(row);
}

inline ::System::Xml::Schema::XmlSchemaComplexType^  NewDataSet::periodDataTable::GetTypedTableSchema(::System::Xml::Schema::XmlSchemaSet^  xs) {
    ::System::Xml::Schema::XmlSchemaComplexType^  type = (gcnew ::System::Xml::Schema::XmlSchemaComplexType());
    ::System::Xml::Schema::XmlSchemaSequence^  sequence = (gcnew ::System::Xml::Schema::XmlSchemaSequence());
    NewDataSet^  ds = (gcnew NewDataSet());
    ::System::Xml::Schema::XmlSchemaAny^  any1 = (gcnew ::System::Xml::Schema::XmlSchemaAny());
    any1->Namespace = L"http://www.w3.org/2001/XMLSchema";
    any1->MinOccurs = ::System::Decimal(0);
    any1->MaxOccurs = ::System::Decimal::MaxValue;
    any1->ProcessContents = ::System::Xml::Schema::XmlSchemaContentProcessing::Lax;
    sequence->Items->Add(any1);
    ::System::Xml::Schema::XmlSchemaAny^  any2 = (gcnew ::System::Xml::Schema::XmlSchemaAny());
    any2->Namespace = L"urn:schemas-microsoft-com:xml-diffgram-v1";
    any2->MinOccurs = ::System::Decimal(1);
    any2->ProcessContents = ::System::Xml::Schema::XmlSchemaContentProcessing::Lax;
    sequence->Items->Add(any2);
    ::System::Xml::Schema::XmlSchemaAttribute^  attribute1 = (gcnew ::System::Xml::Schema::XmlSchemaAttribute());
    attribute1->Name = L"namespace";
    attribute1->FixedValue = ds->Namespace;
    type->Attributes->Add(attribute1);
    ::System::Xml::Schema::XmlSchemaAttribute^  attribute2 = (gcnew ::System::Xml::Schema::XmlSchemaAttribute());
    attribute2->Name = L"tableTypeName";
    attribute2->FixedValue = L"periodDataTable";
    type->Attributes->Add(attribute2);
    type->Particle = sequence;
    ::System::Xml::Schema::XmlSchema^  dsSchema = ds->GetSchemaSerializable();
    if (xs->Contains(dsSchema->TargetNamespace)) {
        ::System::IO::MemoryStream^  s1 = (gcnew ::System::IO::MemoryStream());
        ::System::IO::MemoryStream^  s2 = (gcnew ::System::IO::MemoryStream());
        try {
            ::System::Xml::Schema::XmlSchema^  schema = nullptr;
            dsSchema->Write(s1);
            for (            ::System::Collections::IEnumerator^  schemas = xs->Schemas(dsSchema->TargetNamespace)->GetEnumerator(); schemas->MoveNext();             ) {
                schema = (cli::safe_cast<::System::Xml::Schema::XmlSchema^  >(schemas->Current));
                s2->SetLength(0);
                schema->Write(s2);
                if (s1->Length == s2->Length) {
                    s1->Position = 0;
                    s2->Position = 0;
                    for (                    ; ((s1->Position != s1->Length) 
                                && (s1->ReadByte() == s2->ReadByte()));                     ) {
                        ;
                    }
                    if (s1->Position == s1->Length) {
                        return type;
                    }
                }
            }
        }
        finally {
            if (s1 != nullptr) {
                s1->Close();
            }
            if (s2 != nullptr) {
                s2->Close();
            }
        }
    }
    xs->Add(dsSchema);
    return type;
}


inline NewDataSet::_create_unitDataTable::_create_unitDataTable() {
    this->TableName = L"create-unit";
    this->BeginInit();
    this->InitClass();
    this->EndInit();
}

inline NewDataSet::_create_unitDataTable::_create_unitDataTable(::System::Data::DataTable^  table) {
    this->TableName = table->TableName;
    if (table->CaseSensitive != table->DataSet->CaseSensitive) {
        this->CaseSensitive = table->CaseSensitive;
    }
    if (table->Locale->ToString() != table->DataSet->Locale->ToString()) {
        this->Locale = table->Locale;
    }
    if (table->Namespace != table->DataSet->Namespace) {
        this->Namespace = table->Namespace;
    }
    this->Prefix = table->Prefix;
    this->MinimumCapacity = table->MinimumCapacity;
}

inline NewDataSet::_create_unitDataTable::_create_unitDataTable(::System::Runtime::Serialization::SerializationInfo^  info, 
            ::System::Runtime::Serialization::StreamingContext context) : 
        ::System::Data::DataTable(info, context) {
    this->InitVars();
}

inline ::System::Data::DataColumn^  NewDataSet::_create_unitDataTable::idColumn::get() {
    return this->columnid;
}

inline ::System::Data::DataColumn^  NewDataSet::_create_unitDataTable::lvColumn::get() {
    return this->columnlv;
}

inline ::System::Data::DataColumn^  NewDataSet::_create_unitDataTable::cooldownColumn::get() {
    return this->columncooldown;
}

inline ::System::Data::DataColumn^  NewDataSet::_create_unitDataTable::period_IdColumn::get() {
    return this->columnperiod_Id;
}

inline ::System::Int32 NewDataSet::_create_unitDataTable::Count::get() {
    return this->Rows->Count;
}

inline NewDataSet::_create_unitRow^  NewDataSet::_create_unitDataTable::default::get(::System::Int32 index) {
    return (cli::safe_cast<NewDataSet::_create_unitRow^  >(this->Rows[index]));
}

inline ::System::Void NewDataSet::_create_unitDataTable::Add_create_unitRow(NewDataSet::_create_unitRow^  row) {
    this->Rows->Add(row);
}

inline NewDataSet::_create_unitRow^  NewDataSet::_create_unitDataTable::Add_create_unitRow(System::String^  id, System::Int64 lv, 
            System::Int64 cooldown, NewDataSet::periodRow^  _parentperiodRowByperiod_create_unit) {
    NewDataSet::_create_unitRow^  row_create_unitRow = (cli::safe_cast<NewDataSet::_create_unitRow^  >(this->NewRow()));
    cli::array< ::System::Object^  >^  columnValuesArray = gcnew cli::array< ::System::Object^  >(4) {id, lv, cooldown, nullptr};
    if (_parentperiodRowByperiod_create_unit != nullptr) {
        columnValuesArray[3] = _parentperiodRowByperiod_create_unit[2];
    }
    row_create_unitRow->ItemArray = columnValuesArray;
    this->Rows->Add(row_create_unitRow);
    return row_create_unitRow;
}

inline ::System::Collections::IEnumerator^  NewDataSet::_create_unitDataTable::GetEnumerator() {
    return this->Rows->GetEnumerator();
}

inline ::System::Data::DataTable^  NewDataSet::_create_unitDataTable::Clone() {
    NewDataSet::_create_unitDataTable^  cln = (cli::safe_cast<NewDataSet::_create_unitDataTable^  >(__super::Clone()));
    cln->InitVars();
    return cln;
}

inline ::System::Data::DataTable^  NewDataSet::_create_unitDataTable::CreateInstance() {
    return (gcnew NewDataSet::_create_unitDataTable());
}

inline ::System::Void NewDataSet::_create_unitDataTable::InitVars() {
    this->columnid = __super::Columns[L"id"];
    this->columnlv = __super::Columns[L"lv"];
    this->columncooldown = __super::Columns[L"cooldown"];
    this->columnperiod_Id = __super::Columns[L"period_Id"];
}

inline ::System::Void NewDataSet::_create_unitDataTable::InitClass() {
    this->columnid = (gcnew ::System::Data::DataColumn(L"id", ::System::String::typeid, nullptr, ::System::Data::MappingType::Attribute));
    __super::Columns->Add(this->columnid);
    this->columnlv = (gcnew ::System::Data::DataColumn(L"lv", ::System::Int64::typeid, nullptr, ::System::Data::MappingType::Attribute));
    __super::Columns->Add(this->columnlv);
    this->columncooldown = (gcnew ::System::Data::DataColumn(L"cooldown", ::System::Int64::typeid, nullptr, ::System::Data::MappingType::Attribute));
    __super::Columns->Add(this->columncooldown);
    this->columnperiod_Id = (gcnew ::System::Data::DataColumn(L"period_Id", ::System::Int32::typeid, nullptr, ::System::Data::MappingType::Hidden));
    __super::Columns->Add(this->columnperiod_Id);
    this->columnid->AllowDBNull = false;
    this->columnid->Namespace = L"";
    this->columnlv->AllowDBNull = false;
    this->columnlv->Namespace = L"";
    this->columncooldown->AllowDBNull = false;
    this->columncooldown->Namespace = L"";
}

inline NewDataSet::_create_unitRow^  NewDataSet::_create_unitDataTable::New_create_unitRow() {
    return (cli::safe_cast<NewDataSet::_create_unitRow^  >(this->NewRow()));
}

inline ::System::Data::DataRow^  NewDataSet::_create_unitDataTable::NewRowFromBuilder(::System::Data::DataRowBuilder^  builder) {
    return (gcnew NewDataSet::_create_unitRow(builder));
}

inline ::System::Type^  NewDataSet::_create_unitDataTable::GetRowType() {
    return NewDataSet::_create_unitRow::typeid;
}

inline ::System::Void NewDataSet::_create_unitDataTable::OnRowChanged(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowChanged(e);
    {
        this->_create_unitRowChanged(this, (gcnew NewDataSet::_create_unitRowChangeEvent((cli::safe_cast<NewDataSet::_create_unitRow^  >(e->Row)), 
                e->Action)));
    }
}

inline ::System::Void NewDataSet::_create_unitDataTable::OnRowChanging(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowChanging(e);
    {
        this->_create_unitRowChanging(this, (gcnew NewDataSet::_create_unitRowChangeEvent((cli::safe_cast<NewDataSet::_create_unitRow^  >(e->Row)), 
                e->Action)));
    }
}

inline ::System::Void NewDataSet::_create_unitDataTable::OnRowDeleted(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowDeleted(e);
    {
        this->_create_unitRowDeleted(this, (gcnew NewDataSet::_create_unitRowChangeEvent((cli::safe_cast<NewDataSet::_create_unitRow^  >(e->Row)), 
                e->Action)));
    }
}

inline ::System::Void NewDataSet::_create_unitDataTable::OnRowDeleting(::System::Data::DataRowChangeEventArgs^  e) {
    __super::OnRowDeleting(e);
    {
        this->_create_unitRowDeleting(this, (gcnew NewDataSet::_create_unitRowChangeEvent((cli::safe_cast<NewDataSet::_create_unitRow^  >(e->Row)), 
                e->Action)));
    }
}

inline ::System::Void NewDataSet::_create_unitDataTable::Remove_create_unitRow(NewDataSet::_create_unitRow^  row) {
    this->Rows->Remove(row);
}

inline ::System::Xml::Schema::XmlSchemaComplexType^  NewDataSet::_create_unitDataTable::GetTypedTableSchema(::System::Xml::Schema::XmlSchemaSet^  xs) {
    ::System::Xml::Schema::XmlSchemaComplexType^  type = (gcnew ::System::Xml::Schema::XmlSchemaComplexType());
    ::System::Xml::Schema::XmlSchemaSequence^  sequence = (gcnew ::System::Xml::Schema::XmlSchemaSequence());
    NewDataSet^  ds = (gcnew NewDataSet());
    ::System::Xml::Schema::XmlSchemaAny^  any1 = (gcnew ::System::Xml::Schema::XmlSchemaAny());
    any1->Namespace = L"http://www.w3.org/2001/XMLSchema";
    any1->MinOccurs = ::System::Decimal(0);
    any1->MaxOccurs = ::System::Decimal::MaxValue;
    any1->ProcessContents = ::System::Xml::Schema::XmlSchemaContentProcessing::Lax;
    sequence->Items->Add(any1);
    ::System::Xml::Schema::XmlSchemaAny^  any2 = (gcnew ::System::Xml::Schema::XmlSchemaAny());
    any2->Namespace = L"urn:schemas-microsoft-com:xml-diffgram-v1";
    any2->MinOccurs = ::System::Decimal(1);
    any2->ProcessContents = ::System::Xml::Schema::XmlSchemaContentProcessing::Lax;
    sequence->Items->Add(any2);
    ::System::Xml::Schema::XmlSchemaAttribute^  attribute1 = (gcnew ::System::Xml::Schema::XmlSchemaAttribute());
    attribute1->Name = L"namespace";
    attribute1->FixedValue = ds->Namespace;
    type->Attributes->Add(attribute1);
    ::System::Xml::Schema::XmlSchemaAttribute^  attribute2 = (gcnew ::System::Xml::Schema::XmlSchemaAttribute());
    attribute2->Name = L"tableTypeName";
    attribute2->FixedValue = L"_create_unitDataTable";
    type->Attributes->Add(attribute2);
    type->Particle = sequence;
    ::System::Xml::Schema::XmlSchema^  dsSchema = ds->GetSchemaSerializable();
    if (xs->Contains(dsSchema->TargetNamespace)) {
        ::System::IO::MemoryStream^  s1 = (gcnew ::System::IO::MemoryStream());
        ::System::IO::MemoryStream^  s2 = (gcnew ::System::IO::MemoryStream());
        try {
            ::System::Xml::Schema::XmlSchema^  schema = nullptr;
            dsSchema->Write(s1);
            for (            ::System::Collections::IEnumerator^  schemas = xs->Schemas(dsSchema->TargetNamespace)->GetEnumerator(); schemas->MoveNext();             ) {
                schema = (cli::safe_cast<::System::Xml::Schema::XmlSchema^  >(schemas->Current));
                s2->SetLength(0);
                schema->Write(s2);
                if (s1->Length == s2->Length) {
                    s1->Position = 0;
                    s2->Position = 0;
                    for (                    ; ((s1->Position != s1->Length) 
                                && (s1->ReadByte() == s2->ReadByte()));                     ) {
                        ;
                    }
                    if (s1->Position == s1->Length) {
                        return type;
                    }
                }
            }
        }
        finally {
            if (s1 != nullptr) {
                s1->Close();
            }
            if (s2 != nullptr) {
                s2->Close();
            }
        }
    }
    xs->Add(dsSchema);
    return type;
}


inline NewDataSet::levelRow::levelRow(::System::Data::DataRowBuilder^  rb) : 
        ::System::Data::DataRow(rb) {
    this->tablelevel = (cli::safe_cast<NewDataSet::levelDataTable^  >(this->Table));
}

inline System::String^  NewDataSet::levelRow::code::get() {
    return (cli::safe_cast<::System::String^  >(this[this->tablelevel->codeColumn]));
}
inline System::Void NewDataSet::levelRow::code::set(System::String^  value) {
    this[this->tablelevel->codeColumn] = value;
}

inline System::String^  NewDataSet::levelRow::name::get() {
    return (cli::safe_cast<::System::String^  >(this[this->tablelevel->nameColumn]));
}
inline System::Void NewDataSet::levelRow::name::set(System::String^  value) {
    this[this->tablelevel->nameColumn] = value;
}

inline System::String^  NewDataSet::levelRow::_background_image::get() {
    return (cli::safe_cast<::System::String^  >(this[this->tablelevel->_background_imageColumn]));
}
inline System::Void NewDataSet::levelRow::_background_image::set(System::String^  value) {
    this[this->tablelevel->_background_imageColumn] = value;
}

inline System::String^  NewDataSet::levelRow::_background_sound::get() {
    try {
        return (cli::safe_cast<::System::String^  >(this[this->tablelevel->_background_soundColumn]));
    }
    catch (::System::InvalidCastException^ e) {
        throw (gcnew ::System::Data::StrongTypingException(L"表“level”中列“background-sound”的值为 DBNull。", e));
    }
}
inline System::Void NewDataSet::levelRow::_background_sound::set(System::String^  value) {
    this[this->tablelevel->_background_soundColumn] = value;
}

inline System::String^  NewDataSet::levelRow::descriptor::get() {
    try {
        return (cli::safe_cast<::System::String^  >(this[this->tablelevel->descriptorColumn]));
    }
    catch (::System::InvalidCastException^ e) {
        throw (gcnew ::System::Data::StrongTypingException(L"表“level”中列“descriptor”的值为 DBNull。", e));
    }
}
inline System::Void NewDataSet::levelRow::descriptor::set(System::String^  value) {
    this[this->tablelevel->descriptorColumn] = value;
}

inline System::Int32 NewDataSet::levelRow::level_Id::get() {
    return (cli::safe_cast<::System::Int32 >(this[this->tablelevel->level_IdColumn]));
}
inline System::Void NewDataSet::levelRow::level_Id::set(System::Int32 value) {
    this[this->tablelevel->level_IdColumn] = value;
}

inline ::System::Boolean NewDataSet::levelRow::Is_background_soundNull() {
    return this->IsNull(this->tablelevel->_background_soundColumn);
}

inline ::System::Void NewDataSet::levelRow::Set_background_soundNull() {
    this[this->tablelevel->_background_soundColumn] = ::System::Convert::DBNull;
}

inline ::System::Boolean NewDataSet::levelRow::IsdescriptorNull() {
    return this->IsNull(this->tablelevel->descriptorColumn);
}

inline ::System::Void NewDataSet::levelRow::SetdescriptorNull() {
    this[this->tablelevel->descriptorColumn] = ::System::Convert::DBNull;
}

inline cli::array< NewDataSet::aiRow^  >^  NewDataSet::levelRow::GetaiRows() {
    if (this->Table->ChildRelations[L"level_ai"] == nullptr) {
        return gcnew cli::array< NewDataSet::aiRow^  >(0);
    }
    else {
        return (cli::safe_cast<cli::array< NewDataSet::aiRow^  >^  >(__super::GetChildRows(this->Table->ChildRelations[L"level_ai"])));
    }
}


inline NewDataSet::aiRow::aiRow(::System::Data::DataRowBuilder^  rb) : 
        ::System::Data::DataRow(rb) {
    this->tableai = (cli::safe_cast<NewDataSet::aiDataTable^  >(this->Table));
}

inline System::Int32 NewDataSet::aiRow::ai_Id::get() {
    return (cli::safe_cast<::System::Int32 >(this[this->tableai->ai_IdColumn]));
}
inline System::Void NewDataSet::aiRow::ai_Id::set(System::Int32 value) {
    this[this->tableai->ai_IdColumn] = value;
}

inline System::Int32 NewDataSet::aiRow::level_Id::get() {
    try {
        return (cli::safe_cast<::System::Int32 >(this[this->tableai->level_IdColumn]));
    }
    catch (::System::InvalidCastException^ e) {
        throw (gcnew ::System::Data::StrongTypingException(L"表“ai”中列“level_Id”的值为 DBNull。", e));
    }
}
inline System::Void NewDataSet::aiRow::level_Id::set(System::Int32 value) {
    this[this->tableai->level_IdColumn] = value;
}

inline NewDataSet::levelRow^  NewDataSet::aiRow::levelRow::get() {
    return (cli::safe_cast<NewDataSet::levelRow^  >(this->GetParentRow(this->Table->ParentRelations[L"level_ai"])));
}
inline System::Void NewDataSet::aiRow::levelRow::set(NewDataSet::levelRow^  value) {
    this->SetParentRow(value, this->Table->ParentRelations[L"level_ai"]);
}

inline ::System::Boolean NewDataSet::aiRow::Islevel_IdNull() {
    return this->IsNull(this->tableai->level_IdColumn);
}

inline ::System::Void NewDataSet::aiRow::Setlevel_IdNull() {
    this[this->tableai->level_IdColumn] = ::System::Convert::DBNull;
}

inline cli::array< NewDataSet::baseRow^  >^  NewDataSet::aiRow::GetbaseRows() {
    if (this->Table->ChildRelations[L"ai_base"] == nullptr) {
        return gcnew cli::array< NewDataSet::baseRow^  >(0);
    }
    else {
        return (cli::safe_cast<cli::array< NewDataSet::baseRow^  >^  >(__super::GetChildRows(this->Table->ChildRelations[L"ai_base"])));
    }
}

inline cli::array< NewDataSet::unitRow^  >^  NewDataSet::aiRow::GetunitRows() {
    if (this->Table->ChildRelations[L"ai_unit"] == nullptr) {
        return gcnew cli::array< NewDataSet::unitRow^  >(0);
    }
    else {
        return (cli::safe_cast<cli::array< NewDataSet::unitRow^  >^  >(__super::GetChildRows(this->Table->ChildRelations[L"ai_unit"])));
    }
}

inline cli::array< NewDataSet::periodRow^  >^  NewDataSet::aiRow::GetperiodRows() {
    if (this->Table->ChildRelations[L"ai_period"] == nullptr) {
        return gcnew cli::array< NewDataSet::periodRow^  >(0);
    }
    else {
        return (cli::safe_cast<cli::array< NewDataSet::periodRow^  >^  >(__super::GetChildRows(this->Table->ChildRelations[L"ai_period"])));
    }
}


inline NewDataSet::baseRow::baseRow(::System::Data::DataRowBuilder^  rb) : 
        ::System::Data::DataRow(rb) {
    this->tablebase = (cli::safe_cast<NewDataSet::baseDataTable^  >(this->Table));
}

inline System::String^  NewDataSet::baseRow::id::get() {
    return (cli::safe_cast<::System::String^  >(this[this->tablebase->idColumn]));
}
inline System::Void NewDataSet::baseRow::id::set(System::String^  value) {
    this[this->tablebase->idColumn] = value;
}

inline System::Int64 NewDataSet::baseRow::lv::get() {
    return (cli::safe_cast<::System::Int64 >(this[this->tablebase->lvColumn]));
}
inline System::Void NewDataSet::baseRow::lv::set(System::Int64 value) {
    this[this->tablebase->lvColumn] = value;
}

inline System::Int32 NewDataSet::baseRow::ai_Id::get() {
    try {
        return (cli::safe_cast<::System::Int32 >(this[this->tablebase->ai_IdColumn]));
    }
    catch (::System::InvalidCastException^ e) {
        throw (gcnew ::System::Data::StrongTypingException(L"表“base”中列“ai_Id”的值为 DBNull。", e));
    }
}
inline System::Void NewDataSet::baseRow::ai_Id::set(System::Int32 value) {
    this[this->tablebase->ai_IdColumn] = value;
}

inline NewDataSet::aiRow^  NewDataSet::baseRow::aiRow::get() {
    return (cli::safe_cast<NewDataSet::aiRow^  >(this->GetParentRow(this->Table->ParentRelations[L"ai_base"])));
}
inline System::Void NewDataSet::baseRow::aiRow::set(NewDataSet::aiRow^  value) {
    this->SetParentRow(value, this->Table->ParentRelations[L"ai_base"]);
}

inline ::System::Boolean NewDataSet::baseRow::Isai_IdNull() {
    return this->IsNull(this->tablebase->ai_IdColumn);
}

inline ::System::Void NewDataSet::baseRow::Setai_IdNull() {
    this[this->tablebase->ai_IdColumn] = ::System::Convert::DBNull;
}


inline NewDataSet::unitRow::unitRow(::System::Data::DataRowBuilder^  rb) : 
        ::System::Data::DataRow(rb) {
    this->tableunit = (cli::safe_cast<NewDataSet::unitDataTable^  >(this->Table));
}

inline System::String^  NewDataSet::unitRow::id::get() {
    return (cli::safe_cast<::System::String^  >(this[this->tableunit->idColumn]));
}
inline System::Void NewDataSet::unitRow::id::set(System::String^  value) {
    this[this->tableunit->idColumn] = value;
}

inline System::Int64 NewDataSet::unitRow::lv::get() {
    return (cli::safe_cast<::System::Int64 >(this[this->tableunit->lvColumn]));
}
inline System::Void NewDataSet::unitRow::lv::set(System::Int64 value) {
    this[this->tableunit->lvColumn] = value;
}

inline System::Int32 NewDataSet::unitRow::unit_Id::get() {
    return (cli::safe_cast<::System::Int32 >(this[this->tableunit->unit_IdColumn]));
}
inline System::Void NewDataSet::unitRow::unit_Id::set(System::Int32 value) {
    this[this->tableunit->unit_IdColumn] = value;
}

inline System::Int32 NewDataSet::unitRow::ai_Id::get() {
    try {
        return (cli::safe_cast<::System::Int32 >(this[this->tableunit->ai_IdColumn]));
    }
    catch (::System::InvalidCastException^ e) {
        throw (gcnew ::System::Data::StrongTypingException(L"表“unit”中列“ai_Id”的值为 DBNull。", e));
    }
}
inline System::Void NewDataSet::unitRow::ai_Id::set(System::Int32 value) {
    this[this->tableunit->ai_IdColumn] = value;
}

inline NewDataSet::aiRow^  NewDataSet::unitRow::aiRow::get() {
    return (cli::safe_cast<NewDataSet::aiRow^  >(this->GetParentRow(this->Table->ParentRelations[L"ai_unit"])));
}
inline System::Void NewDataSet::unitRow::aiRow::set(NewDataSet::aiRow^  value) {
    this->SetParentRow(value, this->Table->ParentRelations[L"ai_unit"]);
}

inline ::System::Boolean NewDataSet::unitRow::Isai_IdNull() {
    return this->IsNull(this->tableunit->ai_IdColumn);
}

inline ::System::Void NewDataSet::unitRow::Setai_IdNull() {
    this[this->tableunit->ai_IdColumn] = ::System::Convert::DBNull;
}

inline cli::array< NewDataSet::itemRow^  >^  NewDataSet::unitRow::GetitemRows() {
    if (this->Table->ChildRelations[L"unit_item"] == nullptr) {
        return gcnew cli::array< NewDataSet::itemRow^  >(0);
    }
    else {
        return (cli::safe_cast<cli::array< NewDataSet::itemRow^  >^  >(__super::GetChildRows(this->Table->ChildRelations[L"unit_item"])));
    }
}


inline NewDataSet::itemRow::itemRow(::System::Data::DataRowBuilder^  rb) : 
        ::System::Data::DataRow(rb) {
    this->tableitem = (cli::safe_cast<NewDataSet::itemDataTable^  >(this->Table));
}

inline System::String^  NewDataSet::itemRow::id::get() {
    return (cli::safe_cast<::System::String^  >(this[this->tableitem->idColumn]));
}
inline System::Void NewDataSet::itemRow::id::set(System::String^  value) {
    this[this->tableitem->idColumn] = value;
}

inline System::Int64 NewDataSet::itemRow::rate::get() {
    try {
        return (cli::safe_cast<::System::Int64 >(this[this->tableitem->rateColumn]));
    }
    catch (::System::InvalidCastException^ e) {
        throw (gcnew ::System::Data::StrongTypingException(L"表“item”中列“rate”的值为 DBNull。", e));
    }
}
inline System::Void NewDataSet::itemRow::rate::set(System::Int64 value) {
    this[this->tableitem->rateColumn] = value;
}

inline System::Int32 NewDataSet::itemRow::unit_Id::get() {
    try {
        return (cli::safe_cast<::System::Int32 >(this[this->tableitem->unit_IdColumn]));
    }
    catch (::System::InvalidCastException^ e) {
        throw (gcnew ::System::Data::StrongTypingException(L"表“item”中列“unit_Id”的值为 DBNull。", e));
    }
}
inline System::Void NewDataSet::itemRow::unit_Id::set(System::Int32 value) {
    this[this->tableitem->unit_IdColumn] = value;
}

inline NewDataSet::unitRow^  NewDataSet::itemRow::unitRow::get() {
    return (cli::safe_cast<NewDataSet::unitRow^  >(this->GetParentRow(this->Table->ParentRelations[L"unit_item"])));
}
inline System::Void NewDataSet::itemRow::unitRow::set(NewDataSet::unitRow^  value) {
    this->SetParentRow(value, this->Table->ParentRelations[L"unit_item"]);
}

inline ::System::Boolean NewDataSet::itemRow::IsrateNull() {
    return this->IsNull(this->tableitem->rateColumn);
}

inline ::System::Void NewDataSet::itemRow::SetrateNull() {
    this[this->tableitem->rateColumn] = ::System::Convert::DBNull;
}

inline ::System::Boolean NewDataSet::itemRow::Isunit_IdNull() {
    return this->IsNull(this->tableitem->unit_IdColumn);
}

inline ::System::Void NewDataSet::itemRow::Setunit_IdNull() {
    this[this->tableitem->unit_IdColumn] = ::System::Convert::DBNull;
}


inline NewDataSet::periodRow::periodRow(::System::Data::DataRowBuilder^  rb) : 
        ::System::Data::DataRow(rb) {
    this->tableperiod = (cli::safe_cast<NewDataSet::periodDataTable^  >(this->Table));
}

inline System::Int64 NewDataSet::periodRow::_start_time::get() {
    return (cli::safe_cast<::System::Int64 >(this[this->tableperiod->_start_timeColumn]));
}
inline System::Void NewDataSet::periodRow::_start_time::set(System::Int64 value) {
    this[this->tableperiod->_start_timeColumn] = value;
}

inline System::Int64 NewDataSet::periodRow::_end_time::get() {
    try {
        return (cli::safe_cast<::System::Int64 >(this[this->tableperiod->_end_timeColumn]));
    }
    catch (::System::InvalidCastException^ e) {
        throw (gcnew ::System::Data::StrongTypingException(L"表“period”中列“end-time”的值为 DBNull。", e));
    }
}
inline System::Void NewDataSet::periodRow::_end_time::set(System::Int64 value) {
    this[this->tableperiod->_end_timeColumn] = value;
}

inline System::Int32 NewDataSet::periodRow::period_Id::get() {
    return (cli::safe_cast<::System::Int32 >(this[this->tableperiod->period_IdColumn]));
}
inline System::Void NewDataSet::periodRow::period_Id::set(System::Int32 value) {
    this[this->tableperiod->period_IdColumn] = value;
}

inline System::Int32 NewDataSet::periodRow::ai_Id::get() {
    try {
        return (cli::safe_cast<::System::Int32 >(this[this->tableperiod->ai_IdColumn]));
    }
    catch (::System::InvalidCastException^ e) {
        throw (gcnew ::System::Data::StrongTypingException(L"表“period”中列“ai_Id”的值为 DBNull。", e));
    }
}
inline System::Void NewDataSet::periodRow::ai_Id::set(System::Int32 value) {
    this[this->tableperiod->ai_IdColumn] = value;
}

inline NewDataSet::aiRow^  NewDataSet::periodRow::aiRow::get() {
    return (cli::safe_cast<NewDataSet::aiRow^  >(this->GetParentRow(this->Table->ParentRelations[L"ai_period"])));
}
inline System::Void NewDataSet::periodRow::aiRow::set(NewDataSet::aiRow^  value) {
    this->SetParentRow(value, this->Table->ParentRelations[L"ai_period"]);
}

inline ::System::Boolean NewDataSet::periodRow::Is_end_timeNull() {
    return this->IsNull(this->tableperiod->_end_timeColumn);
}

inline ::System::Void NewDataSet::periodRow::Set_end_timeNull() {
    this[this->tableperiod->_end_timeColumn] = ::System::Convert::DBNull;
}

inline ::System::Boolean NewDataSet::periodRow::Isai_IdNull() {
    return this->IsNull(this->tableperiod->ai_IdColumn);
}

inline ::System::Void NewDataSet::periodRow::Setai_IdNull() {
    this[this->tableperiod->ai_IdColumn] = ::System::Convert::DBNull;
}

inline cli::array< NewDataSet::_create_unitRow^  >^  NewDataSet::periodRow::_Getcreate_unitRows() {
    if (this->Table->ChildRelations[L"period_create-unit"] == nullptr) {
        return gcnew cli::array< NewDataSet::_create_unitRow^  >(0);
    }
    else {
        return (cli::safe_cast<cli::array< NewDataSet::_create_unitRow^  >^  >(__super::GetChildRows(this->Table->ChildRelations[L"period_create-unit"])));
    }
}


inline NewDataSet::_create_unitRow::_create_unitRow(::System::Data::DataRowBuilder^  rb) : 
        ::System::Data::DataRow(rb) {
    this->table_create_unit = (cli::safe_cast<NewDataSet::_create_unitDataTable^  >(this->Table));
}

inline System::String^  NewDataSet::_create_unitRow::id::get() {
    return (cli::safe_cast<::System::String^  >(this[this->table_create_unit->idColumn]));
}
inline System::Void NewDataSet::_create_unitRow::id::set(System::String^  value) {
    this[this->table_create_unit->idColumn] = value;
}

inline System::Int64 NewDataSet::_create_unitRow::lv::get() {
    return (cli::safe_cast<::System::Int64 >(this[this->table_create_unit->lvColumn]));
}
inline System::Void NewDataSet::_create_unitRow::lv::set(System::Int64 value) {
    this[this->table_create_unit->lvColumn] = value;
}

inline System::Int64 NewDataSet::_create_unitRow::cooldown::get() {
    return (cli::safe_cast<::System::Int64 >(this[this->table_create_unit->cooldownColumn]));
}
inline System::Void NewDataSet::_create_unitRow::cooldown::set(System::Int64 value) {
    this[this->table_create_unit->cooldownColumn] = value;
}

inline System::Int32 NewDataSet::_create_unitRow::period_Id::get() {
    try {
        return (cli::safe_cast<::System::Int32 >(this[this->table_create_unit->period_IdColumn]));
    }
    catch (::System::InvalidCastException^ e) {
        throw (gcnew ::System::Data::StrongTypingException(L"表“create-unit”中列“period_Id”的值为 DBNull。", e));
    }
}
inline System::Void NewDataSet::_create_unitRow::period_Id::set(System::Int32 value) {
    this[this->table_create_unit->period_IdColumn] = value;
}

inline NewDataSet::periodRow^  NewDataSet::_create_unitRow::periodRow::get() {
    return (cli::safe_cast<NewDataSet::periodRow^  >(this->GetParentRow(this->Table->ParentRelations[L"period_create-unit"])));
}
inline System::Void NewDataSet::_create_unitRow::periodRow::set(NewDataSet::periodRow^  value) {
    this->SetParentRow(value, this->Table->ParentRelations[L"period_create-unit"]);
}

inline ::System::Boolean NewDataSet::_create_unitRow::Isperiod_IdNull() {
    return this->IsNull(this->table_create_unit->period_IdColumn);
}

inline ::System::Void NewDataSet::_create_unitRow::Setperiod_IdNull() {
    this[this->table_create_unit->period_IdColumn] = ::System::Convert::DBNull;
}


inline NewDataSet::levelRowChangeEvent::levelRowChangeEvent(NewDataSet::levelRow^  row, ::System::Data::DataRowAction action) {
    this->eventRow = row;
    this->eventAction = action;
}

inline NewDataSet::levelRow^  NewDataSet::levelRowChangeEvent::Row::get() {
    return this->eventRow;
}

inline ::System::Data::DataRowAction NewDataSet::levelRowChangeEvent::Action::get() {
    return this->eventAction;
}


inline NewDataSet::aiRowChangeEvent::aiRowChangeEvent(NewDataSet::aiRow^  row, ::System::Data::DataRowAction action) {
    this->eventRow = row;
    this->eventAction = action;
}

inline NewDataSet::aiRow^  NewDataSet::aiRowChangeEvent::Row::get() {
    return this->eventRow;
}

inline ::System::Data::DataRowAction NewDataSet::aiRowChangeEvent::Action::get() {
    return this->eventAction;
}


inline NewDataSet::baseRowChangeEvent::baseRowChangeEvent(NewDataSet::baseRow^  row, ::System::Data::DataRowAction action) {
    this->eventRow = row;
    this->eventAction = action;
}

inline NewDataSet::baseRow^  NewDataSet::baseRowChangeEvent::Row::get() {
    return this->eventRow;
}

inline ::System::Data::DataRowAction NewDataSet::baseRowChangeEvent::Action::get() {
    return this->eventAction;
}


inline NewDataSet::unitRowChangeEvent::unitRowChangeEvent(NewDataSet::unitRow^  row, ::System::Data::DataRowAction action) {
    this->eventRow = row;
    this->eventAction = action;
}

inline NewDataSet::unitRow^  NewDataSet::unitRowChangeEvent::Row::get() {
    return this->eventRow;
}

inline ::System::Data::DataRowAction NewDataSet::unitRowChangeEvent::Action::get() {
    return this->eventAction;
}


inline NewDataSet::itemRowChangeEvent::itemRowChangeEvent(NewDataSet::itemRow^  row, ::System::Data::DataRowAction action) {
    this->eventRow = row;
    this->eventAction = action;
}

inline NewDataSet::itemRow^  NewDataSet::itemRowChangeEvent::Row::get() {
    return this->eventRow;
}

inline ::System::Data::DataRowAction NewDataSet::itemRowChangeEvent::Action::get() {
    return this->eventAction;
}


inline NewDataSet::periodRowChangeEvent::periodRowChangeEvent(NewDataSet::periodRow^  row, ::System::Data::DataRowAction action) {
    this->eventRow = row;
    this->eventAction = action;
}

inline NewDataSet::periodRow^  NewDataSet::periodRowChangeEvent::Row::get() {
    return this->eventRow;
}

inline ::System::Data::DataRowAction NewDataSet::periodRowChangeEvent::Action::get() {
    return this->eventAction;
}


inline NewDataSet::_create_unitRowChangeEvent::_create_unitRowChangeEvent(NewDataSet::_create_unitRow^  row, ::System::Data::DataRowAction action) {
    this->eventRow = row;
    this->eventAction = action;
}

inline NewDataSet::_create_unitRow^  NewDataSet::_create_unitRowChangeEvent::Row::get() {
    return this->eventRow;
}

inline ::System::Data::DataRowAction NewDataSet::_create_unitRowChangeEvent::Action::get() {
    return this->eventAction;
}
